Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come convertire binario ad un numero intero in C Programmazione

binari e decimali sono due modi diversi per rappresentare i numeri interi . In programmazione C , i numeri binari sono in genere memorizzati in stringhe di caratteri o qualche altro tipo di array. Le stringhe di caratteri in C sono nominati da un puntatore a carattere che indica il bit di ordine inferiore della stringa binaria . La stringa termina con il carattere speciale C " \\ 0" dopo il bit di ordine alto . Conversione di queste stringhe binarie nel valore intero equivalente è un semplice programma per scrivere - o iterativo o ricorsivo. Istruzioni
1

Sviluppare un chiaro algoritmo per la conversione prima di iniziare a scrivere codice. Avrete bisogno di due variabili per l'algoritmo : una batteria di accumulatori per tenere traccia dei risultati e un "potere " variabile per tenere traccia del crescente potere dei 2 che descrive le diverse posizioni di bit del numero binario . Per esempio , il numero intero 13 è memorizzato in binario come 1101. Questo numero è in realtà ( 1 X 2 ^ 3) + (1 X 2 ^ 2) + (0 X 2 ^ 1) + (1 X 2 ^ 0 ) o 8 + 4 + 0 + 1 = 13 . A causa del modo in cifre binarie sono memorizzati in C , ci sarà a partire dal bit di ordine basso e moltiplicare ogni bit per i valori crescenti della variabile potere e aggiungendolo nell'accumulatore.
2

Descrivi la funzione in pseudocodice , testare il pseudocodice con alcuni esempi , regolare il pseudocodice , se necessario, e scrivere il codice C direttamente dal pseudocodice . Nome funzione: binary2integer . Input : un puntatore a un tipo di carattere . Emettere un numero intero. Avviare la funzione mediante la definizione di due variabili intere : ACC - un accumulatore e pow - Un valore che raddoppia ad ogni passo nella conversione. Impostare secondo a 0 e pow a 1 . Continua a fare le tre istruzioni nel ciclo fino a quando il puntatore punta al " \\ 0" , quindi restituire il valore del secondo come valore della funzione . Le tre istruzioni di ciclo sono : Se il puntatore fa riferimento a un " 1 ", aggiungere il valore di pow al secondo , il doppio del valore di pow e incremento il puntatore per puntare al bit successivo
. 3

Convertire il pseudocodice di codice C : int binary2integer ( char * p ) { int secondo , pow , acc = 0; pow = 1; while ( p * = '\\ 0' ! ) {if ( p == * '1 ' ) acc + = pow , pow * = 2; p + + } } ritorno acc . Questo codice deve essere testato con diversi esempi . Assicuratevi di controllare i valori limite , come 0 e 1 , nonché con una serie di valori come 11111 , 00000 , 10101 e 01010 .

 

Programmazione © www.354353.com