字节,字和双字数字表示

问题描述

我读了一本名为assembly64的书,here被发现,它说-一个字节(8位)可以用来表示256个不同的数字,一个单词(16位)可用于表示65,536个不同的值,而双字(32位)可用于表示4,294,967,296个不同的数字。因此,如果您想存储100,000,则需要一个双字。

我不理解表示x个不同的值是什么意思?我知道一个字符是1个字节,而256个字符打算用作ASCII表,但是我听不懂下面一行-一个字(16位)可以用来表示65,536个不同的值 ,这65,536个值是什么意思?

解决方法

我不明白“代表x个不同的值”的含义。

如果您的数据类型可以存储值01,则可以存储两个不同的值。

因此,“代表x个不同的值”表示,如果您从0开始,它可以存储最多x - 1的整数。也就是说,数字通常是带符号的,因此最大值较低,最小值为负。

要找到给定位数的最大无符号值,如果2^n - 1是位数,则计算为n

在链接文档(direct link)的第36页上,有一个表格,详细列出了可以存储在每种数据类型(带符号和无符号)中的可能值。

,

您提到的任何数据类型都具有相同的含义-字节是一组8位。一位是最基本的单位,可以是1或0。一个字节不仅是0到1之间的8个值,​​而且是256种不同的组合(而不是排列),范围从00000000,例如。 01010101至11111111。因此,一个字节可以代表介于0(00)和255之间的十进制数字。