一、十进制分数原码和补码可以先将分子和分母分别表示成二进制数,然后计算出二进制小数,再按下面第三步的方法将求出小数的原码和补码形式。
37/64=100101B/2^6=0.100101B
-51/128=110011B/2^7=0.0110011B
二、十进制小数的原码和补码也应该先将其转换成二进制小数,再按下面第三步的方法将求出小数的原码和补码形式。
0.375=0.011B
0.5625=0.1001B
三、将二进制小数对应的原码和补码求出
[37/64]原码=[0.100101B]原码=00100101B
[-51/128]原码=[0.0110011B]原码=10110011B
[0.375]原码=[0.011B]原码=00110000B
[0.5625]原码=[0.1001B]原码=01001000B
[37/64]补码=[0.100101B]补码=00100101B
[-51/128]补码=[0.0110011B]补码=11001101B
[0.375]补码=[0.011B]补码=00110000B
[0.5625]补码=[0.1001B]补码=01001000B
计算机中的数据表示
1.符号数字化 : 用0表示正,用1表示负,则称为符号数字化.
2.真值 : 用正负号脚绝对值表示数值,这种形式称为真值.如
+101011,-111100..............
3.机器数 : 符号数字化以后的数称为机器数.如
0101011,1100101............
原码+反码+补码
在这里就不去说简单的概念了,把具体的给出来.
1.正数
[X]原 = 0.101011
正数的补码和正数的原码相同
有: [X]补 = 0.101011
正数的反码与正数的原码相同
有: [X]反 = 0.101011
2.负数
[X]原 = 1.101011
取反加1得,[X]补 = 1.1010101
符号位不变,其余位逐位变反,得: [X]反 =
1.010100
(在计算机中,我们用一个字节表示一个数,一个字节有8位,超过8位就进1,在内存中的情况为:
1 0000 0000
由于进位,1将被丢弃.)
****************补码*****************
已知一个负数的补码,将其转换为十进制数,步骤为:
1.先对各位取反
2.将其转换为十进制数
3.加上负号,再减去1
如: 11111010,最高位为1是负数,先对各位取反得
00000101,再转换为十进制数得 5,加上负号得 -5,
再减去1得 -6 ,那么-6就是 11111010的十进制表示形式.
*****************************************