integer - 字节、字和双字数字表示
问题描述
我读了一本书,assembly64
可以在这里找到,现在它说 -一个字节(8 位)可以用来表示 256 个不同的数字,一个字(16 位)可以用来表示 65,536 个不同的值,并且一个双字(32 位)可用于表示 4,294,967,296 个不同的数字。因此,如果您想存储 100,000 的值,则需要一个双字。
我不知道代表 x 不同的值是什么意思?我知道一个字符是 1 个字节,而 256 是 ASCII 表,但我不明白下面这行 -一个单词(16 位)可用于表示 65,536 个不同的值,65,536 个值是什么意思?
解决方案
我不明白“代表 x 个不同的值”是什么意思。
如果您有一个可以存储值的数据类型0
和1
,它可以存储两个不同的值。
因此,“表示 x 个不同的值”意味着,如果从 0 开始,它可以存储最多x - 1
. 也就是说,数字通常是有符号的,因此最大值较低,最小值为负数。
为了找到给定位数的最大无符号值,计算是2^n - 1
如果n
是位数。
在您链接的文档(直接链接)的第 36 页上,有一个表格详细说明了可以存储在每种数据类型(有符号和无符号)中的可能值。
推荐阅读
- hibernate - Using Hazelcast IMDG as JPA second level cache in Wildfly (15)
- git - 无法在 VSTS 上执行 TFVC 到 GIT 导入
- mysql - 车库里有多少辆车?在两个表中选择(Mysql)
- kubernetes - Spring Cloud Data Flow + Kubernetes,要求将任务 pod 部署在非默认命名空间上
- tensorflow - 我正在尝试在张量流中加载图像。tensorflow 的 tf.train.string_input_producer 函数将 fifoqueue 转换为张量错误
- python - 创建有条件的数据框
- audiokit - 播放不同速度时 AKOscillatorBank 出现故障
- macos - MPI 在 macOS Mojave 上因某种原因失败
- jenkins - Jenkins 管道未正确使用 sshagent 凭据
- microsoft-graph-api - 我们无法控制的图形 API 错误