一扎是多长:请教下关于二进制数的原码,反码及补码问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 00:00:21
题一:请写出下列各数的原码,反码及补码
0.1010 -11/128
题二:另已知一机器数01111001,试写出它表示的实际内容:1.作为定点整数时
2.作为定点小数时
3.作为8421BCD码时
4.作为浮点数时,其数符、阶符各一位,阶码2位,尾数4位
5.作为定点整数补码
6.作为定点小数反码
我只需要答案,数制转换我会做。最好能做出比较详细的步骤。

联系我吧,我告诉你,Q100421298

请参阅计算机等级考试一级教材!
只有看懂教材,你才会自己理解,不然,我说了答案,你也不会明白!

题一:
0。1010 是正数 所以 原码 反码 补码都一样
-11/128
原码=10001011 反码=11110100 补码=11110101
(我是这么做的 11/128=0.0859375 然后把他转化成二进制数 其中MSB是最高位(又是符号位),LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。) 看的懂吗?

上面的很有道理啦

二进制,十进制,16进制计算原理是一样的,只是我们习惯10进制而已

计算机部件只管高、低电平,就等于只认识要么1要么0

下面是二进制计算:
二进制:1+1=10+1=11+1=100+1=101
以下是对应关系
十进制:0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
二进制:0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
16进制:0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F

以下是计算
十进制:0004+0010=0014,0015+0002= 0017
二进制:0100+1010=1110,1111+0010=1,0001
16进制:0004+0010=000E,000F+0002=1,1

如此看来怎么计算只要规则统一,不管是几进制算出来的结果还是那么些个数,就是要相互转换而已。

综合上面规律,10进制和二进制没有直接联系,而二进制和16进制保持4位二进制=1位16进制,比如:101011就何以理解成:0010和1101对应上表16进制应该是2D。
16进制2D比二进制00101101从书写记忆到转换成10进制计算要省事的多是把?

所以16进制是为了简化二进制而衍生的进制(包括8进制,32进制,还可以出来一个64/128进制)

还有就是计算机容量通常1024=1K,1024=2*2*2*2*2*2....

反补码是为了解决寄存器数据溢出/正负数数值得方法,说起来太麻烦,自己找汇编书籍看把,上面肯定比我说的清楚