byte - 将十六进制位转换为字节

标签 byte computer-science radix bit

我正在尝试理解

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/

相关文章:

python - 在 python 中将各个位写入文件

javascript - 如何将 64 位整数拆分为两个 32 位整数

arrays - 将[] byte数组转换为uintptr

c++ - 字符数组到十六进制字符串 C++

c - 如何计算数字 7 在数组中出现的次数

algorithm - 渐近分析比较 f 和 g

c# - 实现此复合 GetHashCode() 的最佳方法是什么

python - python中的基本转换

javascript - 从继承的实例创建 javascript 基类对象

c++ - 如何在我的代码中包含负值?数制转换