SHA-2(256) константы типа h0..h7 не 32 бита как указано в Википедии?

Имеем константы

h0 := 0x6a09e667
h1 := 0xbb67ae85
h2 := 0x3c6ef372
h3 := 0xa54ff53a
h4 := 0x510e527f
h5 := 0x9b05688c
h6 := 0x1f83d9ab
h7 := 0x5be0cd19

Википедия сообщает, что эти значения по 32 бита, однако h0=31; h2=30; h4=31; h6=29 бит. Значит ли это, что дробные части квадратных корней для этих значений, просто сами по себе меньше 32 бит, или тут что то другое?


Ответы (1 шт):

Автор решения: Harry

Вы путаете количество битов в единице хранения, грубо говоря, и количество битов в представлении числа, начиная с первого ненулевого :)

По вашей логике, для хранения нуля память не нужна вообще, а для хранения 1 - один бит?

Минимальная адресуемая порция - байт, т.е. 8 бит, так что для хранения 29-битового числа все равно нужно 32 бита в памяти: меньше не получится...

→ Ссылка