已知补码如何求原码、真值 |
您所在的位置:网站首页 › 补码是10011000,原码是多少 › 已知补码如何求原码、真值 |
文章目录
已知补码求真值定点整数正数负数如何求补码
例题例题1例题2例题3
定点小数正数负数例题例题1例题2例题3
已知补码求真值
定点整数
正数
正数的原码、补码、反码都是一样的 负数负数的原码就是补码的补码 如何求补码最高位是符号位,符号位保持不变,其余位取反,取反后末位+1,得到的就是补码 例题 例题1[ x ] 补 = 10101 [x]_补 = 10101 [x]补=10101 最高位为1(10101),说明x是一个负数 那么[x]补的反码为(符号位不变,其余按位取反): 11010 11010 11010 [x]补的补码为[x]补的反码末位+1 11011 11011 11011 所以x的原码为11011,真值为: − 1 × ( 1 × 2 3 + 0 × 2 2 + 1 × 2 1 + 1 × 2 0 ) = − ( 8 + 2 + 1 ) = − 11 -1 × ( 1×2^{3} + 0×2^{2} + 1×2^{1} + 1×2^{0}) \\ = -(8 + 2 + 1) = -11 −1×(1×23+0×22+1×21+1×20)=−(8+2+1)=−11 例题2[ x ] 补 = 00111 [x]_补 = 00111 [x]补=00111 因为最高位为0(00111),说明x是一个正数 正数的原码、反码、补码都相同 所以 [x]原 = 00111 x的真值为: 1 × 2 3 + 1 × 2 2 + 1 × 2 0 = 7 1×2^{3} + 1×2^{2} + 1×2^{0} = 7 1×23+1×22+1×20=7 例题3[ x ] 补 = 11100 [x]_补 = 11100 [x]补=11100 最高位为1(11100),说明x是负数 [[x]补]反(x补码的反码) = 10011 [[x]补]补(x补码的补码) = [[x]补]反 末位+1 = 10100 x的真值 = -22 = -4 定点小数 定点小数中正数的格式为0.xxxx,负数的格式为1.xxxxx 也就是小数点左侧的第一位是符号位 正数正数的原码、补码、反码都一样 负数负数的原码就是补码的补码 例题 例题1[ x ] 补 = 1.1100 [x]_补 = 1.1100 [x]补=1.1100 符号位位1(1.1100),说明x是负数 [[x]补]反 = 1.0011 [[x]补]补 = [[x]补]反 末位+1 = 1.0100 x的真值 = -0.25 例题2[ x ] 补 = 0.1110 [x]_补 = 0.1110 [x]补=0.1110 x的符号位为0(0.1110),说明x是正数 所以[x]原 = [x]补 = 0.1110 x的真值 = 0.5 + 0.25 + 0.125 = 0.875 例题3[ x ] 补 = 1.0000 [x]_补 = 1.0000 [x]补=1.0000 这是一个较为特殊的补码,真值为-1事实上,负数的补码就是其绝对值的补数(a+b=模,则a与b互为补数)![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |