A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangpeng1 中级黑马   /  2016-2-28 13:01  /  782 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

位运算中二进制数的补码。反码。源码怎么表示?

1 个回复

倒序浏览
1.二进制计数法的概念 人们在日常生活中和生产实践中,我们接触到越来越多的数字,创造了分组计数的制度.而我们的生活中,一般采用了"满十进一"的十进制计数法,
我们现在已经熟悉并经常运用这一种计数法了.但也有采用其他计数法.如二进制,六进制,十六进制等计数法.现在就来讲一讲"二进制"和"十进制"的关系 2.十进制和二进制数的互化 (1)化十进制数为二进制数 <1>比较小的十进制数为二进制数可以用观察法. 例:化45为二进制数 因为2的0次方,1次方,2次方~~~10次方分别等于1,2,4,8,16,32,64,128,256,512,1024. 所以 45=32+8+4+1=2⑤+2③+2②+1=1*2⑤+0*2④+1*2②+0*2①+1*1=101101(二进制) <2>一般化法 利用短除法(通常叫做"二除取余法") (2)化二进制数为十进制数 这是比较方便的,只需把二进制是写成展开式;计算即得.

3对于有符号的数
二进制的最高位时符号位:0表示正数,1表示负数
正数的原码,反码,补码都一样
负数的反码=它的原码符号位不变,其它位取反
负数的补码=它的反码+1
0的反码,补码都是0
java中的数都是有符号的

在计算机运算的时候,都是以补码的方式来运算的。
java中有4中位运算,分别是按位与&,按位或|,按位异或^,按位取反。
&:两位全为1,结果为1
|:两位有一个为1,结果为1
^:两位有一个为1,一个为0,结果为1
取反:0取反位1,1取反位0
java中有3个移位运算符
>> 算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
<<算术左移:符号位不变,低位补0
>>>逻辑右移:低位溢出,高位补0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马