我正在尝试理解
256 bits in hexadecimal is 32 bytes, or 64 characters in the range 0-9 or A-F
32 字节的字符串怎么可能是 0-9 或 A-F 范围内的 64 个字符?
32字节是什么意思?
我假设位表示数字 0 或 1,因此 256 位将是 256 个数字 0 或 1。
我知道 1 字节等于 8 位,那么 32 字节是否是 0、1、2、3、4、5、6 或 7(即 8 个不同值)的 32 位数字?
我确实对不同的基数有所了解(例如,二进制有0和1,十进制有0-9,十六进制有0-9和A-F等),但我仍然无法理解为什么十六进制的256位可以为 32 字节或 64 个字符。
我知道这是计算机科学的基础知识,所以我必须阅读它,但是你能给出一个简短的解释吗?
最佳答案
单个十六进制字符代表 4 位。
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
两个十六进制字符可以表示一个字节(8 位)。
How can a 32 bytes string be 64 characters in the range 0-9 or A-F?
请记住,十六进制表示是位设置的外部描述。如果字节包含01001010,则可以说它是十六进制的4A。字符4A不存储在字节中。就像在数学中我们使用“e”和“π”来表示数字一样。
What does 32 bytes mean?
1 字节 = 8 位。 32 字节 = 256 位。
关于byte - 将十六进制位转换为字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47412137/