首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一个数的原码跟补码

2012-10-24 
一个数的原码和补码一个数如果为正,则它的原码、反码、补码相同;?一个数如果为负,则符号位为1,其余各位是对

一个数的原码和补码

一个数如果为正,则它的原码、反码、补码相同;

?

一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。
?????????

?为了简单起见,我们用1个字节来表示一个整数。


??????????? +7的原码反码补码为:?00000111

?

?????????? ?-7的原码为:?10000111

??????????? -7的反码为: 11111000
??????????? -7的补码为:? 11111001

?

?

?

补码
????? 已知一个负数的补码,将其转换为十进制数,步骤:
????? 1、先对各位取反;
????? 2、将其转换为十进制数;
????? 3、加上负号,再减去1。
????? 例如:
????? 11111010,最高位为1,是负数,先对各位取反得00000101,转换为十进制数得5,加上负号得-5,再减1得-6。

?

二进制位操作符
&?????????? 按位与?????? 按位与,只有壹(1)壹(1)为1。
|??????????? 按位或?????? 按位或,只有零(0)零(0)为0。
^??????????按位异或???? 按位异或,只有零(0)壹(1)或壹(1)零(0)为1。
~??????? ? 按位取反?????对二进制数按位取反,即0变成1,1变成0。

?

三个移位运算符
左移:<<
带符号右移:>>
无符号右移:>>>

?

数?????????? ? x??????????????????? x<<2???????????????? x>>2??????????????? x>>>2
17????? 00010001??? 00 01000100????? 00000100 01???? 00000100 01
-17???? 11101111??? 11 10111100????? 11111011 11???? 00111011 11

?

热点排行