【摘要】:表示一个带符号的二进制数时,有3种表示方式:原码、反码和补码。确定一个数的原码、反码和补码,要根据这个数是正数还是负数来确定。例如,十进制数17的原码、反码与补码用2字节表示时,均为0000000000010001。对于负整数,规定是基于原码,符号位为1保持不变,其他位按位取反得到反码;对反码加1后,得的是补码。
在计算机中,带符号的整数用补码来表示,符号位和其他位一样,使用1和0来表示负号或正号。减法运算按加法进行,表示为加上一个负数。另外,两个数用补码表示并进行相加运算时,如果最高位(符号位)有进位,则进位被舍弃,称为“溢出”。因此,在进行计算机数值计算时,要注意数值的取值范围,防止数据太大而溢出,因而得到一个错误的结果。
表示一个带符号的二进制数时,有3种表示方式:原码、反码和补码。确定一个数的原码、反码和补码,要根据这个数是正数还是负数来确定。
对于正整数,规定这个数的原码、反码、补码都是一样的,都和原码相同。
例如,十进制数17的原码、反码与补码用2字节表示时,均为0000000000010001。
对于负整数,规定是基于原码,符号位为1保持不变,其他位按位取反得到反码;对反码加1后,得的是补码。
例如,十进制数-17的原码、反码与补码,用2字节表示如下。(www.daowen.com)
●原码:10000000 00010001 最高位为符号位。
●反码:11111111 11101110 除最高位外,各位取反。
●补码:11111111 11101111 将反码加1。
在计算机中,带符号的整数用补码表示,如十进制数17表示为00000000 00010001,而-17表示为11111111 11101111。例如,计算20-17,可写成20+(-17),因为20的二进制数为0000 0000 0001 0100,其补码为0000 0000 0001 0100,所以两数相加则有:20+(-17)=3,即:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关程序设计基础(Java语言)的文章