计算机运算方法之(原码 补码 反码 移码)

您所在的位置:网站首页 补码求真值符号位 计算机运算方法之(原码 补码 反码 移码)

计算机运算方法之(原码 补码 反码 移码)

2024-07-17 08:47| 来源: 网络整理| 查看: 265

无符号数 表示范围:0-65535 有符号数 表示范围: -32768~+32767正值:0负数:1 有符号数(小数)

小数:+0.1011表示: 01011 小数点位置在0.1011 小数:-0.1011表示: 1 1011小数点位置在1.1011

有符号数(整数)

+1100 表示: 01100小数点位置在01100. -1100表示: 11100小数点位置在11100.

0+0=00-0=00*0=00+1=11-1=00*1=01+1=01-0=11*0=01+1+1=10-1=11*1=1 真值 把带有"+“ “-”符号的数称为真值 机器数 把符号数字化的数称为机器数 原码

原码又称为带符号的绝对值表示

整数的符号位与数值位用(逗号)隔开小数的符号位与数值位用(小数点)隔开例子:x=+1110时,原码【x】原=0,1110x=-1110时,原码【x】原=1,1110x=0.1101时,原码【x】原=0.1111x=-0.1101时,原码【x】原=1.1101有原码求真值:原码【x】原=1.0011,得到 x=-0.0011原码【x】原=1,1100,得到 x=-1100原码【x】原=0.1101,得到 x=0.1101 原码中的“零”有两种表示方式:【+0.0000】原=0.0000【-0.0000】原=1.0000 补码

只要确定了模,就可以找到一个与负数等价的正数(改正数就是负数的补数),这样就可以把减法运算用到加法实现

正数相对于“模”的补数就是正数本身+7 = +7 (mod 10)一个正数和一个负数互相为补数时,他们俩的绝对值和就是模数-3 = +7 (mod 10)所以补数= |-3| + |7|=10例如:x=+1010 【x】补=0,1010(正数补数为自身)x=-1101 【x】补=1,0011 即(负数: 取反+1)x=0.1001,【x】补=0.1001(正数补数为自身)x=-0.0110,【x】补=1.1010(负数: 取反+1)

补码中的0只有一种表达方式:【+0】补=【-0】补=0.0000

已知补码求真值: (注意先判断正负,负数取反,正数不改变)

[x]补=1.0101 x=-0.1011(原码除去符号位取反,再+1)[x]补=1,1110 x=-0010(原码除去符号位取反,再+1)[x]补=0.1101 x=0.1101(正数不改变) 反码

x为整数时:

x=+1101时,反码=0,1101(正数反码还是本身)x=-1101时,反码=1,0010(负数反码,除符号位取反)

x为小数时:

x=+0.0110时,反码=0.0110x=-0.0110时,反码=1.1101

反码中的0有两种表达方式:

【+0.0000】反=0.0000【-0.0000】反=1.1111 移码

利用二进制数,比较十进制数21和-21的大小 答: x=21,对应的二进制数为+10101,【x】补=0,10101 x=-21,对应的二进制数为-10101,【x】补=1,01011 如果按照补码进行比较,则101011 > 010101,答案错误 x=10101 加上2的5次方 10101+100000=110101 x=-10101加上2的5次方 -10101+100000=001011 所以 110101>001011 移码: [x]移=2的n次方 + x

例如:

x=10100 则在【x】移=2*5+ x=100000+10100=1,10100x=-10100 则在【x】移=2*5+ x=100000-10100=0,01100同一个真值的移码和补码仅相差一个符号位x=-10100 则在【x】补=1,01100 【x】移=0,01100


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3