Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur konvertera binär till ett heltal i C-programmering

    Binary och decimal är två olika sätt att representera heltal . I C -programmering , är binära tal oftast lagras i teckensträngar eller någon annan typ av array . Teckensträngar på C benämnes genom en karaktär pekare som pekar på den låga ordningens bit hos den binära strängen. Strängen avslutas med den speciella C- tecknet " \\ 0 " efter högorderbit . Konvertera dessa binära strängar till motsvarande heltal är ett enkelt program för att skriva - antingen iterativt eller rekursivt . Instruktioner
    1

    Utveckla en tydlig algoritm för konvertering innan du börjar skriva kod . Du behöver två variabler för algoritmen : en ackumulator att hålla reda på resultaten och en " power " variabel att hålla reda på den ökande kraften av två som beskriver de olika bitpositioner i det binära talet . Till exempel är heltalet 13 lagrad i binär som 1101 . Detta antal är faktiskt ( 1 X 2 ^ 3 ) + ( 1 X 2 ^ 2 ) + ( 0 X 2 ^ 1 ) + ( 1 X 2 ^ 0 ) eller 8 + 4 + 0 + 1 = 13 . På grund av hur binära siffror lagras i C , kommer vi att starta på låga ordning lite och multiplicera varje bit av ökande värden på strömmen variabel och lägga den i ackumulatorn .
    2

    Beskriv funktionen i pseudokod , testa pseudokoden med några exempel , justera pseudokoden om nödvändigt och skriva C-kod direkt från pseudokod . Funktion namn : binary2integer . Ingång: en pekare till en teckentyp. Utgång ett heltal . Starta funktionen genom att definiera två heltalsvariabler : acc - en ackumulator och pow - ett värde som dubblerar vid varje steg i konverteringen . Ställ enl 0 och pow till 1 . Fortsätt att göra de tre uttalanden i slingan tills visaren pekar på " \\ 0 " tecken , sedan tillbaka värdet av acc som värdet av funktionen . De tre slingvillkor är : Om visaren pekar på en " 1 , " lägga till värdet av pow till acc , fördubbla värdet av pow och inkrement pekaren för att peka på nästa bit
    . 3

    Konvertera pseudokoden till C -kod : int binary2integer ( char * p ) { int acc , pow , ACC = 0; pow = 1 , medan ( p * = ' \\ 0 ' ! ) {if ( p * == '1 ' ) ACC + = pow , pow * = 2 , p + + } retur acc } . Denna kod bör testas med flera exempel . Var noga med att kontrollera att gränsvärden som 0 och 1 , samt med en mängd olika värden såsom 11111 , 00000 , 10101 och 01010 . Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man kompilerar en H Arkiv
    ·Hur man gör en klocka i C
    ·Hur man gör MFC Interface Trådar
    ·Hur man använder LINQ i WPF
    ·Hur man gör C Spel
    ·Hur man deklarerar en String i C + +
    ·Hur man använder Strerror funktion i C + +
    ·Vad är pekare och hur används de
    ·C + + Träning
    ·Hur man gör en sträng att acceptera Spaces
    Utvalda artiklarna
    ·Hur du använder PHP Mailer
    ·Hur man kan utveckla en Bluetooth Application
    ·Hur du installerar ISA Server 2006 Proxy Client
    ·Hur gör jag Stabilisera antalet slingor i Java
    ·Hur kan man överföra till S3 med Python
    ·Lägga till en kula i PHP
    ·Hur att dölja en Holder Image Plats
    ·Databas Handledning för Visual Basic 2008
    ·Lägga JMenuBar till JPanel
    ·Hur man skapar ett fristående Visual Basic Program
    Copyright © Dator Kunskap http://www.dator.xyz