十进制数92的原码为0100100101101,反码为0100100101101,补码为0100100101101。
十进制数-92的原码为1100100101101,反码为1011011010010,补码为1011011010011。
原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1,其余位表示数值的大小。
反码跟原码是正数时,一样;负数时,反码就是原码符号位除外,其他位按位取反。
正整数的补码是其二进制表示,与原码相同。求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。
扩展资料:
原码便于输入输出,但作为代码加减运算时较为复杂。原码的符号位不能直接参与运算,必须和其他位分开,这就增加了硬件的开销和复杂性,可能会出错。在计算机系统中,数值一律用补码来表示和存储。使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
补码解决了符号的表示的问题;可以将减法运算转化为补码的加法运算来实现,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计;在计算机中,利用电子器件的特点实现补码和真值、原码之间的相互转换,非常容易。
原码即是将92转化为二进制数:
0100100101101
而反码就是把原码的1与0置换:
1011011010010
补码则是把反码加一(从最左一位开始,逢一则进):
1011011010011
十进制数 92 和 -92 的原码,反码和补码各是多少?
-------------------------
假定码长是 8 位数。
十进制数 +92 = 二进制数 +101 1100。
正数的各个码,相同,且等于原数。所以:
[+92]原码 = [+92]反码 = [+92]补码 = 0101 1100。
-----------------
十进制数 -92 = 二进制数 -101 1100。
[-92]原码 = 1101 1100,
[-92]反码 = 1010 0011,
[-92]补码 = 1010 0100。
以上,才是正确答案。 与本答案不同的,都是错误答案。
在计算机系统中,数值,一律采用补码表示和存储。
原码反码,都是垃圾,计算机并不使用它们。
所以,只要掌握“数值与补码”的转换,就足够用了。
它们的对应关系,如下所示:
+92 的补码,就是其二进制:0101 1100。
-92,先确定一个符号位 1,即-128。
7 位的数值位,就应该是:36 = 010 0100。
综合在一起,就是:1010 0100。
------------------------------
求补码,必须用原码反码取反加一吗?
不是的。
老外算术不好,就只能用那些骚操作。
计算机专业老师脑子不灵,也就会教这些了。