热门推荐








补码怎么算
问题描述
- 精选答案
-
1、正数的补码表示:
正数的补码 = 原码
= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}
以十进制整数+97和-97为例:
+97补码 = 0110_0001b
-97原码= 1110_0001b
-97补码= 1001_1111b
- 其他回答
-
正数的补码就是其本身
如+9的补码是00001001。
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值。
正整数的补码是其二进制表示,与原码相同 。
例:+9的补码是00001001。
求负整数的补码,将其对应正数二进制表示所有位(包括符号位)取反(0变1,1变0,符号位为1不变)后加1 。
- 其他回答
-
补码中第一位是符号位,只有剩下的七位是数值位,即
数值位全为 1 时,最大值为 -27 - 1 ,即 -127;如果再加 1 就会发生溢出变成 1000 0000。
在补码中只有一个 0 ,即 0000 0000,+0;而 -0 ,1000 0000 在补码中规定用来表示 -128,也就是补码中的一种 数码结合 形式,符号位也表示数值位。
上面只是说规定 1000 0000 表示 -128,那么, -128 的补码可以通过计算出来吗?
答案是可以的,我们可以通过无符号数来计算出补码(无符号数的补码原码和反码都是一样的)。
有符号数可以通过模运算来获得对应的无符号数(n 位二进制数的模为 2n,即 8 位二进制数的模为 256):
当 0<= x <= 27 时,x无 = x
当 -27 <= x < 0 时,x无 = x + 28
猜你喜欢内容
-
阿拉奶粉3段和2段的区别
阿拉奶粉3段和2段的区别回答数有3条优质答案参考
-
西安未央宫遗址公园坐几路公交到
西安未央宫遗址公园坐几路公交到回答数有3条优质答案参考
-
安徽理工大学全国排名及王牌专业
安徽理工大学全国排名及王牌专业回答数有3条优质答案参考
-
安徽理工大学好吗
安徽理工大学好吗回答数有3条优质答案参考
-
汉长安城未央宫遗址公园怎么进去
汉长安城未央宫遗址公园怎么进去回答数有3条优质答案参考
-
安徽理工大学好不好
安徽理工大学好不好回答数有3条优质答案参考
-
上海最好录取的国际高中
上海最好录取的国际高中回答数有3条优质答案参考
-
兴城温泉哪家好
兴城温泉哪家好回答数有3条优质答案参考
-
兴城距离海边最近的酒店
兴城距离海边最近的酒店回答数有3条优质答案参考
-
兴城哪家宾馆住宿好
兴城哪家宾馆住宿好回答数有3条优质答案参考