二进制中,正数的原码与补码相同吗?我的c语言教程上这么说。谁能解释一下?
答案:3 悬赏:60
解决时间 2021-01-27 23:28
- 提问者网友:轮囘Li巡影
- 2021-01-27 08:28
二进制中,正数的原码与补码相同吗?我的c语言教程上这么说。谁能解释一下?
最佳答案
- 二级知识专家网友:你可爱的野爹
- 2021-01-27 09:55
二进制中,正数的原码与补码相同,负数是除符号位不变,其他位求反加1。
1、二进制
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
2、表示方法
二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为2²、2¹、2º、 、 。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:
二进制数据一般可写为:
【例1102】将二进制数据111.01写成加权系数的形式。
解:
二进制和十六进制,八进制一样,都以二的幂来进位的。
1、二进制
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
2、表示方法
二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为2²、2¹、2º、 、 。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:
二进制数据一般可写为:
【例1102】将二进制数据111.01写成加权系数的形式。
解:
二进制和十六进制,八进制一样,都以二的幂来进位的。
全部回答
- 1楼网友:掌灯师
- 2021-01-27 12:10
正数的原码和补码是相同的。
补码的出现是为了完美的表示正数和负数,原码就是数本身的二进制,最高位是符号位,负数的最高位是1,正数是0,例如:八位二进制表示,-1的原码为:1000 0001, 1的原码为0000 0001,这样的话,原码中就有两种表示0的方法了,就是0000 0000和1000 0000都是0,为了解决这个矛盾才产生了补码,补码是这么规定的,仍然用最高位表示符号位,0是正数,1是负数,正数的补码与原码相同,负数的补码是其原码按位取反加一,注意符号位不变。
补码的出现是为了完美的表示正数和负数,原码就是数本身的二进制,最高位是符号位,负数的最高位是1,正数是0,例如:八位二进制表示,-1的原码为:1000 0001, 1的原码为0000 0001,这样的话,原码中就有两种表示0的方法了,就是0000 0000和1000 0000都是0,为了解决这个矛盾才产生了补码,补码是这么规定的,仍然用最高位表示符号位,0是正数,1是负数,正数的补码与原码相同,负数的补码是其原码按位取反加一,注意符号位不变。
- 2楼网友:从此江山别
- 2021-01-27 10:42
好啦,我给你系统的讲一下吧!光了解你这个例子是不行的。
************************************原理*******************************************
当真值为正时:原码、反码、补码数值位完全相同;
当真值为负时:
原码的数值位保持原样,
反码的数值位是原码数值位的各位取反,
补码则是反码的最低位加一。
注意符号位不变。
**************************例如*************************************************************************
若机器数是16位:
十进制数 17 的原码、反码与补码均为: 0000000000010001
十进制数-17 的原码、反码与补码分别为:1000000000010001、正数的补码
与原码相同。 【例1】+9的补码是00001001。(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等。同一个数字在不同的补码表示形式里头,是不同的。比方说下面所要提到的-15的补码,在8位2进制里头是二进制中,正数的原码与补码相同,负数是除符号位不变,其他位求反加1
+9的原码是00001001,补码相同,仍是00001001
************************************原理*******************************************
当真值为正时:原码、反码、补码数值位完全相同;
当真值为负时:
原码的数值位保持原样,
反码的数值位是原码数值位的各位取反,
补码则是反码的最低位加一。
注意符号位不变。
**************************例如*************************************************************************
若机器数是16位:
十进制数 17 的原码、反码与补码均为: 0000000000010001
十进制数-17 的原码、反码与补码分别为:1000000000010001、正数的补码
与原码相同。 【例1】+9的补码是00001001。(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等。同一个数字在不同的补码表示形式里头,是不同的。比方说下面所要提到的-15的补码,在8位2进制里头是二进制中,正数的原码与补码相同,负数是除符号位不变,其他位求反加1
+9的原码是00001001,补码相同,仍是00001001
参考资料:sername
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯