原、补、反、移

用公式最精准有效
1、原码表示法:
纯小数:当0<=x<1时,也就是当x为正纯小数或者0时,原码就是x自身
实列:x=+0.1001 +0.1001的十进制真值为0.5625,由于0<+0.5625<1,满足这个公式,所以原码就是x,在把换成二进制为0.1001000,因为正小数的原码就是x本身,所以[x]二进制原码=0.1001000;
当-1<x<=0时,也就是当x为负纯小数时或者为0时,就用1-x这个公式
实列:x=-0.1001,-0.1001的十进制真值为-0.5625,所以推出-1<-0.5625<=0,所以用这个1-x的公式
1-x=1-(-0.5625)=1+0.5625,1的二进制就是1,在把0.5625换成二进制为0.1001000,所以为二进制原码1.1001000。
小数二进制和十进制怎么互换如下图:
请添加图片描述

纯整数:
当0<=x<2的n次方,也就是当x大于等于0小于2的7次方时,它的原码就是x自己本身,
实列:x=+1001,先把它换成十进制真值为11,因为0<=11<2的7次方,所以原码是它自身,把11转为二进制原码00001011
当-2的n次方<x<=0时,也就是x大于-2的n次方大于等于0时,用2的n次方-x的公式
x=-1001,先把换为十进制-11,推出-2的7次方<-11<=0,所以用2的n次方-x的公式,把2的7次方-(-11)=2的7次方+11=139,把139转换为二进制为10001001,所以原码的二进制是10001001。

补码:

纯小数:
当0<=x<1,同上的意思自己理解,它原码就是自己
实列:
x=+0.1001,把它转成十进制0.5625,推导出0<=0.5625<1,所以补码二进制是0.1001000
当-1<x<=0,解释同上自己理解,用2+x的公式
实列:
x=-0.1001000,推导出-1<-0.5625<=0,所以用2+x,2+(-0.5625)=1.4375,换成二进制补码为1.0111000

纯整数:
当0<=x<2的n次方就用自己做补码
实列:
x=+1101,换成十进制为13,二进制补码为00001101

当-2的n+1次方<=x<=0用 2的n+1次方 +x这个公式
实列:
x=-1101,推导出-2的n+1次方<=-13<=0,所以用2的n+1次方 +x,2的八次方+(-13)=243,换成二进制的补码为11110011。

反码:
正数的话,数值部分与真值相同;
负数的话,数值部分对真值取反;
不管正数还是负数的符号位0和1都不变,负数不管是纯整数还是纯小数都是对其真值取反;
实列:
x=+0.1101=0.1101000
x=+1101=00001111
因为其为正数,所以真值与其数值相同
x=-0.1101=1.10010111
x=-1101=11110010
因为其为负数,所以真值对数值取反。

移码:
移码常用来表示浮点数的阶码,它只表示整数
当-2的n次方<=x<2的n次方用2的n次方+x,也就是不管正负数就是用这个公式
实列:
x=+1001=2的7次方+1001=10001101
x=-1001=2的7次方+(-1001)=01110011

对于补码按照一般规律和经验是负数取反就算的出补码,对纯整数是用的,但对纯小数就有点麻烦,所以最好用公式去算划得来。
对于反码没什么说的,不管小数还是整数都是用数值取反的规则不用公式。对于原码的话,用一般经验就是对整数二进制在最高位加上符号位±(0和1)符号位后面补0,而小数是对右低位补0,而不是对高位补0,有时候就会搞糊涂,所以最好用公式。而移码的话是针对整数,用一般经验还是很好用,把最高位的符号位取反,这个不用公式我还没出错。能用公式就用公式,锻炼脑子。
补充:浮点数的补码和定点小数用的公式一样
**

对于这个计算机专业还是要用点时间的,要坚持不懈的努力,不要一做不出来就放弃,坚持坚持就出灵感来了,灵感不是来自一瞬间的事而是累加出来的!

**

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值