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