存储值所需的位数

时间:2015-02-14 17:36:57

标签: binary bits

存储三个不同值需要多少位? 我的猜测是8次3 = 24位。 我很困惑,因为我在课堂上了解到一个8位字节只能保存0到255之间的值。这是否意味着存储一个大于255的值,我们需要超过8位?

3 个答案:

答案 0 :(得分:2)

位为0或1.因此它可以存储2个值。

两位可以存储2 * 2个值,4。

三位可以存储2 * 2 * 2个值,8。

等等。

因此要存储3个值,至少需要两位。

您需要超过8位来存储超过256个值,是的,因为2 ^ 8是256。

答案 1 :(得分:0)

TL; DR:两位数

在任何数字基础系统中,单个数字可以保存的值的数量等于基数,因此对于常规的基数为10的数字系统,这将是10(0到9)。为了保持更高的数字,你给自己更多数字:这将是你在学校学到的地方,数十位,数百位等。

一旦你开始给自己更多的数字,那么它只是一个组合问题:在一个两位数的基数为10的数字中,有多少组合? 00到99,所以100;有三位数,000到999,所以1000。

名称bit只不过是base-2中数字的特殊名称(也称为二进制)。它可以准确地保存两个值,0和1.为了得到更多,你必须给自己另一个数字,例如,那个地方,两个地方。甚至更多的数字:四肢位,十八位等。再说一次,它只不过是组合数学。两个基数为2位(或二进制数字,或bit s)可以保存值00到11,所以4;有三位00到111,所以8;有四位00到1111,所以16;八(一个字节)00000000到11111111,所以256。

所以,为了保持三个值 - 例如0 1和2 base-10 - 你需要两位数:00 01和10二进制。

答案 2 :(得分:0)

是的,没错。您将需要超过8个字节来存储超过255的值。