当前位置:首页 > 经验 >

存储与运算都用二进制吗(为什么用二进制来存储数据)

来源:原点资讯(www.yd166.com)时间:2022-11-06 18:39:15作者:YD166手机阅读>>

反码值转化为十进制公式

以0001,0101,1011,1111为例子,按照上面公式计算如下图所示

存储与运算都用二进制吗,为什么用二进制来存储数据(13)

反码值转化为十进制例子

补码:

最高位为符号位,1表示负数,0表示整数,对于负数,剩余的位数取反后,然后加1,再按照【无符号二进制整数】转化为十进制,例如4位二进制数1001,最高位为1,剩余的位数为001,取反后就是110,然后加1=111,111按照【无符号二进制整数】转化为十进制就是7,就是7,所以结果为-7,补码的值的计算公式如下图

存储与运算都用二进制吗,为什么用二进制来存储数据(14)

补码转化为十进制公式

以0001,0101,1011,1111为例子,按照上面公式计算如下图所示

存储与运算都用二进制吗,为什么用二进制来存储数据(15)

补码值转化为十进制例子

总结下原码,反码,补码

这三种编码的正数编码都相同,负数编码各不同。

原码在计算机硬件用处不多,在【二进制浮点数】的计算中用到了。

反码与补码比较类似,对于负数的反码和补码,同样的二进制,转化后反码后比转化后的补码大1,从它们的计算公式也可以看出。

快速获取一个n位二进制的补码,有两种:

1.对n位二进制取反后 1就是这个n为二进制的补码,例如0111=7取反后1000 1=1001就是-7,对1001=7取反后0110 1=0111就是7

2.2的n次方-n为二进制数,例如0111的补码就是10000-0111=1001,1001的补码就是10000-1001=0111

补码还有以下几个特点:

1.补码是互补的,x (-x)=0例如一个4位二进制,1001 0111=10000舍弃1就是0000

2.补码0是唯一的,不像原码和反码有两个0,不存在二义性

3.n为二进制补码数范围为-2的n-1次方~2的n-1次方-1,例如一个8位二进制数范围为-128~127,正数部分比负数少了一个数,因为0占用了,因此总共有128个负数,0,127个正数。

4.补码加法和减法使用同样的硬件完成,减法可以用被减数的补码实现,例如3-5,就是用3加5的补码实现。

基于上述的几个特点,在几乎所有的计算机中采用补码来表示【有符号二进制整数】

补码的加减法与【无符号二进制整数】加减法的类似,唯一不同的是出现溢出的处理方式不同,下面介绍一下,如下图

存储与运算都用二进制吗,为什么用二进制来存储数据(16)

栏目热文

八位二进制拨码图(二进制拨码图解)

八位二进制拨码图(二进制拨码图解)

容易让人糊涂的BCD码和十六进制BCD码(Binary-Coded Decimal‎)是二进制编码的十进制数的缩写,BC...

2022-11-06 19:25:55查看全文 >>

存储8位二进制信息(存储8位二进制的信息)

存储8位二进制信息(存储8位二进制的信息)

C语言支持的基本数据类型通过前面的举例分析,我们知道房子的类型,决定了房子的属性。例如,一房一厅的房子,有一个房间的空间...

2022-11-06 18:38:25查看全文 >>

二进制存储方式(进制转换计算器)

二进制存储方式(进制转换计算器)

实战:基于MongoDB文件服务器本节,我们将介绍如何基于MongoDB技术来存储二进制文件,从而实现一个文件服务器Mo...

2022-11-06 19:24:48查看全文 >>

二进制是怎样被读取出来的(通俗解释二进制)

二进制是怎样被读取出来的(通俗解释二进制)

信息时代,我们的生活离不开计算机。我们看到的视频、图片,阅读的文字、数字和符号、听到的音乐,其实都是一串由0和1组合的序...

2022-11-06 18:44:03查看全文 >>

二进制文件存放(二进制文件目录)

二进制文件存放(二进制文件目录)

来源:科技日报图片来源:DBMS Internals在我们的日常生活中,偶尔会出现这样的经历:辛苦下载的资料文件一不小心...

2022-11-06 18:41:46查看全文 >>

为什么以二进制存储(二进制存储是不是比较节省空间)

为什么以二进制存储(二进制存储是不是比较节省空间)

我们前段时间聊了牛顿与莱布尼茨的微积分之争,莱布尼茨所发明的符号被普遍认为更综合,适用范围更加广泛。作为17世纪最伟大的...

2022-11-06 18:40:02查看全文 >>

二进制对照表(二进制最简单的理解)

二进制对照表(二进制最简单的理解)

十进制二进制2的指数表示10000 00012^020000 00102^140000 01002^280000 100...

2022-11-06 19:15:31查看全文 >>

十进制转二进制口诀(二进制转十进制对照表)

十进制转二进制口诀(二进制转十进制对照表)

今天用两种方法来给大家解释一下如何把十进制数转换成二、十六进制数。方法一:口诀:除N取余,逆序排列。例1:K200=B?...

2022-11-06 19:14:14查看全文 >>

二进制存储(二进制怎么存储信息)

二进制存储(二进制怎么存储信息)

假设有一个需求是这样的:在200亿个随机整数中找出某个数是否存在其中?要求效率高,而且要节省内存。我们知道,在Java中...

2022-11-06 19:01:18查看全文 >>

计算机进制转换方法口诀(计算机进制转换最简单方法)

计算机进制转换方法口诀(计算机进制转换最简单方法)

你知道吗?我们用的阿拉伯数字是500年前的古人选定的版本,而十进制是几万年前原始人的选择。未来,我们还会一直沿用它吗?图...

2022-11-06 18:50:03查看全文 >>

文档排行