^^Bytes

Qui rappresentiamo i possibili valori-stati di un byte in diversi modi.

Per organizzare usiamo tabelle;
sono tabelle che non vanno lette secondo l'usuale ordine di lettura "orizzontale" sinistra-destra, alto-basso,bensi':
vanno lette in "verticale" alto-basso, sinistra-destra.
E' l'usanza nella documentazione dei programmers; non so esattamente perche'.

I possibili valori di 1 byte, rappresentazione binaria: combinazione di 8 cifre binarie (bit=binary digit)

  0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0000 00000000 00010000 00100000 00110000 01000000 01010000 01100000 01110000 10000000 10010000 10100000 10110000 11000000 11010000 11100000 11110000
0001 00000001 00010001 00100001 00110001 01000001 01010001 01100001 01110001 10000001 10010001 10100001 10110001 11000001 11010001 11100001 11110001
0010 00000010 00010010 00100010 00110010 01000010 01010010 01100010 01110010 10000010 10010010 10100010 10110010 11000010 11010010 11100010 11110010
0011 00000011 00010011 00100011 00110011 01000011 01010011 01100011 01110011 10000011 10010011 10100011 10110011 11000011 11010011 11100011 11110011
0100 00000100 00010100 00100100 00110100 01000100 01010100 01100100 01110100 10000100 10010100 10100100 10110100 11000100 11010100 11100100 11110100
0101 00000101 00010101 00100101 00110101 01000101 01010101 01100101 01110101 10000101 10010101 10100101 10110101 11000101 11010101 11100101 11110101
0110 00000110 00010110 00100110 00110110 01000110 01010110 01100110 01110110 10000110 10010110 10100110 10110110 11000110 11010110 11100110 11110110
0111 00000111 00010111 00100111 00110111 01000111 01010111 01100111 01110111 10000111 10010111 10100111 10110111 11000111 11010111 11100111 11110111
1000 00001000 00011000 00101000 00111000 01001000 01011000 01101000 01111000 10001000 10011000 10101000 10111000 11001000 11011000 11101000 11111000
1001 00001001 00011001 00101001 00111001 01001001 01011001 01101001 01111001 10001001 10011001 10101001 10111001 11001001 11011001 11101001 11111001
1010 00001010 00011010 00101010 00111010 01001010 01011010 01101010 01111010 10001010 10011010 10101010 10111010 11001010 11011010 11101010 11111010
1011 00001011 00011011 00101011 00111011 01001011 01011011 01101011 01111011 10001011 10011011 10101011 10111011 11001011 11011011 11101011 11111011
1100 00001100 00011100 00101100 00111100 01001100 01011100 01101100 01111100 10001100 10011100 10101100 10111100 11001100 11011100 11101100 11111100
1101 00001101 00011101 00101101 00111101 01001101 01011101 01101101 01111101 10001101 10011101 10101101 10111101 11001101 11011101 11101101 11111101
1110 00001110 00011110 00101110 00111110 01001110 01011110 01101110 01111110 10001110 10011110 10101110 10111110 11001110 11011110 11101110 11111110
1111 00001111 00011111 00101111 00111111 01001111 01011111 01101111 01111111 10001111 10011111 10101111 10111111 11001111 11011111 11101111 11111111

in totale: 2*2*2*2*2*2*2*2, cioe' 2^8 = 256.

I possibili valori di 1 byte, rappresentazione esadecimale: combinazione di 2 cifre esadecimali

  0 1 2 3 4 5 6 7 8 9 A B C D E F
0 00 10 20 30 40 50 60 70 80 90 A0 B0 C0 D0 E0 F0
1 01 11 21 31 41 51 61 71 81 91 A1 B1 C1 D1 E1 F1
2 02 12 22 32 42 52 62 72 82 92 A2 B2 C2 D2 E2 F2
3 03 13 23 33 43 53 63 73 83 93 A3 B3 C3 D3 E3 F3
4 04 14 24 34 44 54 64 74 84 94 A4 B4 C4 D4 E4 F4
5 05 15 25 35 45 55 65 75 85 95 A5 B5 C5 D5 E5 F5
6 06 16 26 36 46 56 66 76 86 96 A6 B6 C6 D6 E6 F6
7 07 17 27 37 47 57 67 77 87 97 A7 B7 C7 D7 E7 F7
8 08 18 28 38 48 58 68 78 88 98 A8 B8 C8 D8 E8 F8
9 09 19 29 39 49 59 69 79 89 99 A9 B9 C9 D9 E9 F9
A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A AA BA CA DA EA FA
B 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AB BB CB DB EB FB
C 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AC BC CC DC EC FC
D 0D 1D 2D 3D 4D 5D 6D 7D 8D 9D AD BD CD DD ED FD
E 0E 1E 2E 3E 4E 5E 6E 7E 8E 9E AE BE CE DE EE FE
F 0F 1F 2F 3F 4F 5F 6F 7F 8F 9F AF BF CF DF EF FF

in totale: 16*16 = 256.

Corrispondenza tra le 2 rappresentazioni

1 cifra esadecimale corrisponde a una quartina di cifre binarie

0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

Approfondimento

E' l'usanza nella documentazione dei programmers; non so esattamente perche', penso perche' e' pensata come una lunga colonna, che viene immaginata nella memoria del calcolatore modellata come una lunga colonna di bytes. Solo che nella pratica della carta stampata non si puo' scrivere, e quindi questa colonna viene interrotta in posti significativi e continuata a lato.

Links

Codice ASCII American Standard Code for Information Interchange