7月21号牛客网做题笔记

来源:互联网 发布:时代网络 12岁 编辑:程序博客网 时间:2024/05/24 15:41

1.机器数、真值、原码、反码以及补码

(1)机器数:就是数字在计算机当中的二进制的表现形式,是带有符号的,最高位表示符号位,0表示正数,1表示负数。

(2)真值:机器数是带有符号的,所以机器数并不能表示真正的数值,需要将符号位单独拿出来看。

(3)原码:正数的原码就是它本身,负数的原码需要在最高为加上1以表示负数。0的原码有两种形式分别是[+0]原=00000000B    [-0]原=10000000B 。8位二进制表示范围-127~+127

(4)反码:正数的反码是其本身而负数的反码就是在原码的基础上符号位不变其余为取反。可见如果一个反码表示的是负数,人脑无法直观的看出来它的数值,通常要将其转换成原码再计算。0的反码也有两种形式分别是[+0]反=00000000B以及  [- 0]反=11111111B。8位二进制反码的表示范围:-127~+127符号位不变。

(5)补码:正数的补码与其二进制的原码相同,负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。 与原码、反码不同,数值0的补码只有一个,即       [0]补=00000000B。若字长为8位,则补码所表示的范围为-128~+127;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围。求一个数的原码,按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。 





原创粉丝点击