二进制--补码简介
?
最近因工作需要,了解下Java二进制存储情况,发现Java中二进制都是以补码形式存储。下面简单介绍下二进制的补码转换:<div><div>在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。?? ? ? ?(1)正数的补码:与原码相同。 【例1】+9的补码是00001001。 (2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 【例2】求-7的补码。 因为给定数是负数,则符号位为“1”。 后七位:+7的原码(0000111)→按位取反(1111000)→加1(1111001) 所以-7的补码是11111001。 已知一个数的补码,求原码的操作分两种情况: (1)如果补码的符号位为“0”,表示是一个正数,其原码就是补码。 (2)如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。 另一种方法求负数的补码如下: 例如:求-15的补码 第一步:+15:00001111 第二步:从右向左找到第一个1,然后把左边的所有位取反 11110001原文地址:二进制--补码简介?|?http://orgcent.com/binary-complemental-code-profile/