java基础

[Java教程 07]原码反码补码

2018-04-07  本文已影响4人  呆萌钟

前言

通过上一章节的内容我们已经掌握了不同进制间的转化,但是我们可以发现,我们做的都是一些正数的转化,那在计算机中,负数如何表示与运算呢?这就不得不提一下我们计算机的“码三少“:原码反码补码了。

有符号数据表示法

在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。

原码 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码 正数的补码与其原码相同;负数的补码是在其反码的末位加1。

有符号数据表示法在技术算计内,有符号数据有3种表示法:原码、反码、补码。原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码正数的补码与其原码相同;负数的补码是在其反码的末位加1。我准备用原码、反码、补码分别来表示+7,-7.首先我们要得到7的二进制:111原码:正数的原码最高位是0.负数的原码最高位为1.其他的数值位.符号位数值位+700000111-710000111反码:正数的反码与其原码相同。负数的反码与原码符号位相同,数值位要取反,就是0变1,1变0.符号位数值位+700000111-711111000补码:正数的补码与原码相同。负数的补码是在反码的基础上加1.符号位数值位+700000111-711111001

呆萌钟, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 完整原文请进入呆萌钟Java基础教程_08_原码反码补码

上一篇下一篇

猜你喜欢

热点阅读