阅读777 返回首页    go 阿里云 go 技术社区[云栖]


数字机内存储

数字机内存储

       原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
  反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
  补码(two's complement)——在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值位统一处理;同时,加法和减法也可以统一处理。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。


  【例1】+9的原码是 00001001。(八位二进制)
            反码是00001001。
               补码是00001001。
        
  【例2】-9的原码是10001001。(八位二进制)
         反码是11110110。
         补码是11110111。

 

微笑

int main(int argc, char *argv[])
{
	cout<<(30&(-30));//2 
	//30的补码 0001 1110 
	//-30补码  1110 0010
	//按位与   0000 0010=2(dec) 
	return 0;
}


 

最后更新:2017-04-03 12:55:57

  上一篇:go Java中Comparable与Comparator的区别
  下一篇:go android图片缩放双击旋转效果