Sommario:
Video: Programmazione in C : le basi per creare programmi 2024
Fortunatamente, non devi programmare alcun dispositivo digitale scrivendo codice di basso livello, invertendo gli interruttori o fili per saldatura Questo perché la programmazione C di oggi avviene a un livello più alto. Ma ancora, nel profondo della macchina, quel tipo di codifica di basso livello continua. Sei solo isolato dalla zuppa primordiale di uno e zero da cui tutto il software sale.
Introduzione al binario
Le cifre binarie o bit , sono 1 e 0. Solo, sono deboli; ma in gruppo, raccolgono un grande potere. La memoria digitale usa questi bit in gruppi.
Termine | C Variabile | Bit | Intervallo valori Unsigned | Intervallo valori Firmato |
---|---|---|---|---|
Bit | _Bool | 1 > 0 a 1 | 0 a 1 | Byte |
char | 8 | 0 a 255 | -128 a 127 | Word |
breve int | 16 > 0 a 65, 535 | -32, 768 a 32, 767 | Lungo | lungo int |
32 | 0 a 4, 294, 967, 295 | -2, 147, 483, 648 a 2, 147, 483, 647 |
|
Il vantaggio di raggruppare bit in byte, parole e così via è che li rende più facili da gestire. Il processore può gestire meglio le informazioni in blocchi. Come i blocchi ottengono i loro valori si basa sui poteri di 2. |
Espressione
Valore binario | 2 | 0 |
---|---|---|
1 1 > 2 | 1 | 2 |
10 2 | 2 | 4 |
100 2 | 3 | 8 |
1000 2 | 4 | 16 |
10000 2 | 5 | 32 |
100000 2 | 6 | 64 |
1000000 2 > 7 | 128 | 10000000 |
|
In realtà, troverai 256 valori possibili per un byte, che include la permutazione tutto-zero. Anche questo è un valore. | Di seguito viene mostrato in che modo le potenze di 2 vengono mappate nella memoria binaria. Proprio come i decimali in un numero 10 di base aumentano di 10, i bit di un numero binario aumentano di 2, leggendo da destra a sinistra. |
5, 2
3
, 2 1 e 2 < 0 . Quando moltiplicate questi valori per le loro controparti decimali e poi li sommano, ottenete la rappresentazione decimale del binario 00101011, che è 43. Tutto va bene, ma per favore non memorizzarlo! Non preoccuparti di tradurre binari in valori decimali; il computer fa quel lavoro per te tutto il tempo. In effetti, il computer vede solo i numeri binari e quindi visualizza i numeri decimali come cortesia per i tuoi occhi umani.Ma quando si manipolano i valori binari, aiuta a sapere cosa sta succedendo. La modifica del valore di un bit su 1 viene definita come che imposta il bit. La modifica del valore di un bit su 0 viene definita come
che ripristina un bit.
-
Come visualizzare i valori binari
-
Per dare un senso migliore agli operatori di manipolazione binaria del linguaggio C, è utile vedere un numero binario in azione. La funzione printf () manca di un carattere di conversione binaria e la libreria C non ospita una funzione di output binario. No, per visualizzare un numero binario, devi creare la tua funzione. La funzione
-
binbin () presenta una funzione di output binaria chiamata binbin (). La funzione binbin (), alla riga 15 nella funzione
binbin ()
, ingerisce un valore int. Il suo output è una stringa che rappresenta il valore int in cifre binarie.
IL BINBIN () FUNZIONE #include char * binbin (int n); int main () {int input; printf ("Digita un valore da 0 a 255:"); scanf ("% d", & input); printf ("% d è binario% sn", input, binbin (input)); return (0);} char * binbin (int n) {static char bin [9]; int x; for (x = 0; x <8; x ++) {bin [x] = n & 0x80? '1': '0'; n << = 1;} bin [x] = "; return (bin);} In generale, il contenuto della funzione binbin () appare piuttosto misterioso.
Esercizio 1 : Digita il codice sorgente da
binbin ()
Funzione in un nuovo progetto. Costruisci ed eseguilo alcune volte per vedere come gli interi compaiono come numeri binari.
Come scritto in binbin () Funzione, binbin () visualizza solo 8 bit di dati, sebbene il tipo di variabile int in genere memorizzi molti più bit. Esercizio 2:
Modifica la funzione binbin () da < binbin () Funzione in modo che visualizzi 16 bit del valore int. (Beh, tecnicamente, 16 bit è un int breve) Per fare ciò, è necessario modificare questi elementi: Linea 9: Modificare il testo in modo che 65535 sia specificato anziché 255.
Riga 17: modifica la dimensione dell'array su 17 per tenere conto di 16 caratteri nell'output più il (carattere null) alla fine della stringa. Riga 20: Regola il valore immediato 8 nel codice su 16 per tenere conto di tutti i 16 caratteri in Il risultato. Riga 22: Sostituisci il valore 0x80 con 0x8000. Questa modifica rende il campo bit più grande. Costruisci esercizio 2. Eseguilo alcune volte per vedere come appare il campo bit per valori più grandi.