Passa al contenuto principale

2. Notation for Bit Strings and Integers (Notazione per stringhe di bit e interi)

Verrà utilizzata la seguente terminologia relativa alle stringhe di bit e agli interi:

a. Una cifra esadecimale (Hex Digit) è un elemento dell'insieme {0, 1, ..., 9, A, ..., F}. Una cifra esadecimale è la rappresentazione di una stringa di 4 bit. Esempi: 7 = 0111, A = 1010.

b. Una parola (Word) è uguale a una stringa di 32 bit o 64 bit che può essere rappresentata rispettivamente come una sequenza di 8 o 16 cifre esadecimali. Per convertire una parola in cifre esadecimali, ogni stringa di 4 bit viene convertita nel suo equivalente esadecimale come descritto in (a) sopra. Esempio:

1010 0001 0000 0011 1111 1110 0010 0011 = A103FE23.

In tutto questo documento, viene utilizzata la convenzione "big-endian" quando si esprimono parole sia a 32 bit che a 64 bit, in modo che all'interno di ogni parola il bit più significativo sia mostrato nella posizione di bit più a sinistra.

c. Un intero (Integer) può essere rappresentato come una parola o una coppia di parole.

Un intero compreso tra 0 e 2^32 - 1 incluso può essere rappresentato come una parola di 32 bit. I quattro bit meno significativi dell'intero sono rappresentati dalla cifra esadecimale più a destra della rappresentazione della parola. Esempio: l'intero 291 = 2^8+2^5+2^1+2^0 = 256+32+2+1 è rappresentato dalla parola esadecimale 00000123.

Lo stesso vale per un intero compreso tra 0 e 2^64-1 incluso, che può essere rappresentato come una parola di 64 bit.

Se z è un intero, 0 <= z < 2^64, allora z = (2^32)x + y dove 0 <= x < 2^32 e 0 <= y < 2^32. Poiché x e y possono essere rappresentati rispettivamente come parole X e Y, z può essere rappresentato come la coppia di parole (X,Y).

Anche in questo caso, viene utilizzata la convenzione "big-endian" e la parola più significativa si trova nella posizione di parola più a sinistra per i valori rappresentati da più parole.

d. blocco (Block) = stringa di 512 bit o 1024 bit. Un blocco (ad esempio, B) può essere rappresentato come una sequenza di parole di 32 bit o 64 bit.