如何将整数值"60"
写成其他二进制格式?
8bit
60
的二进制码 = 111100
16bit
60
的二进制码 = ?
32bit
60
的二进制码 = ?
64bit
60
的二进制码 = ?
是 16 位二进制的 111100000000
吗?
为什么 8 位二进制代码包含 6 位而不是 8 位?
我搜索了答案,但我无法获得这些答案。请提供答案,因为我还是这方面的初学者。
最佳答案
假设您正在编写十进制值 60
。您可以使用 2 位、4 位或 8 位来编写它:
1. 60
2. 0060
3. 00000060
在我们的十进制表示法中,最重要的数字在左边,因此增加表示的位数,而不改变值,意味着只是在左边添加零。
现在,在大多数二进制表示中,这将是相同的。十进制的 60 只需要 6 位来表示它,因此 8 位或 16 位表示将是相同的,除了左填充的零:
1. 00111100
2. 00000000 00111100
注意:某些操作系统、软件、硬件或存储设备可能有不同的Endianness - 这意味着它们可能会先存储 16 位值,首先是最低有效字节,然后是最高有效字节。二进制符号仍然是 MSB-on-the-left,如上,但读取此类 little-endian 设备的内存将显示任何 16 位 block 将在内部反转:
1. 00111100 - 8bit - still the same.
2. 00111100 00000000 - 16bit, bytes are flipped.
关于vb.net - 如何在 16 位二进制、32 位二进制和 64 位二进制中写入整数值 "60",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32354153/