全站数据
8 4 2 0 5 8 1

8个二进制位最多表示多少数据

学习超能手 | 简单学习,快乐成才!         
问题更新日期:2024-11-11 00:55:25

问题描述

8个二进制位最多表示多少数据希望能解答下
精选答案
最佳答案

首先,你要知道这几个知识点:

8 位长度的二进制,其中第一位表示符号,0 正 1 负。然后剩下的 7 位用来表示数。

计算机中使用“补码”来存储数据。

补码的规则:正数的补码就是这个数本身,负数的补码用这个数的反码 + 1 表示。

反码的规则:正数的反码就是这个数本身,负数的反码就是

除了符号位以外

各位取反,也就是 1 变 0,0 变 1。

补码求原码的规则:对补码再求一次补码,就得到其原码。

然后是二进制转十进制的规则,就是

从右往左

,第 X 位的数乘以 2 的 (X - 1) 次方,然后把所有数加起来。比如一个二进制数,其中 abcdefg 分别表示一位 0/1 数字。 那么其转成十进制就。

计算机中为什么用补码存储数据?因为原码和反码都存在“0 有两个表示方式,一个是 +0,一个是 -0”的问题。还有就是补码可以更方便的进行运算,可以把减法变成加法来运算。

有了这些知识点,你再来理解这句话。

先说正数部分怎么来的,因为正数的补码就是原码,所以就是我们常见的二进制表示,当位数确定的时候,要使这个数最大,那么它的每一位都一定是 1,比如四位二进制数最大,七位二进制数最大。(就像十进制数,如果位数一定,那么这个数最大的话,一定是各位都是 9,比如三位整数最大,五位整数最大)。

已经知道一共有 8 位的长度了,第一位表示符号,正数为 0,还剩下 7 位,最大的数就是 ,所以这个数是多少呢?如果你直接套上面那个公式的话,这个数就是 127(10)。

如果你真的直接套公式算了,那么你肯定发现,这个数太难算了,有一个更简单的算法,就是先给这个数 +1,得到结果再 -1,这样结果肯定不变。而二进制是逢二进一,所以如果给加上 1 的话,每一位都要向前进 1,得到 ,这样再套上面的公式就简单了,就是。然后再减去 1,就是。

再说负数的部分怎么来的。负数的解释就稍微麻烦一些,因为负数的补码和我们平常见到的二进制原码不同,而计算机中又是拿补码来存储的。。。

首先还是 8 位二进制数,最高位代表符号位,负数为 1。剩下 7 位,我们来找一下规律:

………………

我们发现,补码和原码正好反过来,一个减小另一个增大。

到最后,我们发现转成原码的话,补码 + 1 就会进位,而进位就会溢出,计算机中使用 8 个二进制位来存储数据,溢出了就没了。这里就规定这个数就是 -128,也就是。

这句话中的只能是用

补码的反码

表示的。

世界上其实有 11 种人,我是那第 11 种人。。。。。。XD