首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

二进制数0111的补码是多少?

发布网友 发布时间:2022-03-31 08:03

我来回答

4个回答

懂视网 时间:2022-03-31 12:24

8位二进制数表示的符号数中,最高位(首位)表示数字的正负,0为正,1为负。其余7位表示数字的值。对于+0110101,先求原码。因为是正数,最高位为0。原码为0011 0101。正数的原码、反码和补码相同,所以补码=原码= 0011 0101。

  

  二进制(英文:Binary system)是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。数字电子电路中,逻辑门直接采用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制,每个数字称为一个比特(二进制位)或比特。

  

  逢二进一,二进制广泛用于最基础的运算方式,计算机的运行计算基础就是基于二进制来运行。只是用二进制执行运算,用其他进制表现出来。

热心网友 时间:2022-03-31 09:32

正数的补码表示
正数的补码 = 原码

负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or

= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}

以十进制整数+97和-97为例:

+97原码 = 0110_0001b

+97补码 = 0110_0001b

-97原码 = 1110_0001b

-97补码 = 1001_1111b

2.纯小数的原码
纯小数的原码如何得到呢?方法有很多,在这里提供一种较为便于笔算的方法。

以0.为例,通过查阅可知其原码为0.1010_0011_1101_0111b。

操作方法:

将0. * 2^n 得到X,其中n为预保留的小数点后位数(即认为n为小数之后的小数不重要),X为乘法结果的整数部分。

此处将n取16,得

X = 41943d = 1010_0011_1101_0111b

即0.的二进制表示在左移了16位后为1010_0011_1101_0111b,因此可以认为0.d = 0.1010_0011_1101_0111b 与查询结果一致。

再实验n取12,得

X = 2621d = 1010_0011_1101b 即 0.d = 0.1010_0011_1101b,在忽略12位小数之后的位数情况下,计算结果相同。

3.纯小数的补码
纯小数的补码遵循的规则是:在得到小数的源码后,小数点前1位表示符号,从最低(右)位起,找到第一个“1”照写,之后“见1写0,见0写1”。

以-0.为例,其原码为1.1010_0011_1101_0111b

则补码为:1.0101_1100_0010_1001b

当然在硬件语言如verilog中二进制表示时不可能带有小数点(事实上不知道哪里可以带小数点)。

4.一般带小数的补码
一般来说这种情况下先转为整数运算比较方便

-97.为例,经查询其原码为1110_0001.1010_0011_1101_0111b

笔算过程:

-97. * 2^16 = -63935 = 1110_0001_1010_0011_1101_0111b,其中小数点在右数第16位,与查询结果一致。

则其补码为1001_1110_0101_1100_0010_1001b,在此采用 负数的补码 = {原码符号位不变} + {数值位按位取反后+1} 方法

5.补码得到原码
方法:符号位不动,幅度值取反+1 or符号位不动,幅度值-1取反

-97.补码 = 1001_1110(.)0101_1100_0010_1001b

取反 = 1110_0001(.)1010_0011_1101_0110b

+1 = 1110_0001(.)1010_0011_1101_0111b 与查询结果一致

6.补码的拓展
在运算时必要时要对二进制补码进行数位拓展,此时应将符号位向前拓展。

-5补码 = 4'b1011 = 6'b11_1011

ps.原码的拓展是将符号位提到最前面,然后在拓展位上部0.

-5原码 = 4‘b’1101 = 6'b10_0101,对其求补码得6'b11_1011,与上文一致。

热心网友 时间:2022-03-31 10:50

二进制011一的补码。应该是0124。这是基础的计算机电脑知识。

热心网友 时间:2022-03-31 12:25

二进制数 0111... ...
这是正数,补码=数值=0111。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com