关于JAVA位运算符
在学校大学计算机基础对于二进制直接跳过了,所以对于二级制一点不明白。我自学JAVA,学到位运算符了,买的书是机械工业出版社的《零基础学JAVA》,现在学到了3.6.4位运算符,我不明白课本讲的位数。
例如有一段代码是a=129,b=128,在讲“与运算符”,课本的讲解是:两个操作数中位都为1的情况下,结果才为1,否则结果为0。我不明白如何看数的“位”,我会将数字化成二进制,但是这个“位”是什么意思呢?“位”为1又是什么意思?
----------------解决方案--------------------------------------------------------
位(bit)只有两个值0和1,java中每个数都对应一个由0和1表示的串(不是字符串),包括了类的状态.bit =1 表示状态取决于计算机,代表一种状态。。。
有兴趣看看网易的教学视频,斯坦福大学的编程学基础,java语言。。。
----------------解决方案--------------------------------------------------------
回复 2楼 llooppzhang
那这个“位”该如何看呐? ----------------解决方案--------------------------------------------------------
就我的理解,是计算机科学抽象出来的一个概念,具体我也不太明白。。。。Sorry
----------------解决方案--------------------------------------------------------
回复 3楼 tianshilei
你说你知道如何把十进制数化成二进制,对吧
int a = 129; // 二进制表示形式:(1000 0001)2
int b = 128; // 二进制表示形式:(1000 0000)2
那么a & b就是:
1000 0001
& 1000 0000
――――――
1000 0000
与运算特点是:二进制表示形式的对应位都是1,结果中该位才为1,否则是0
----------------解决方案--------------------------------------------------------
位运算也分好几种吧 就好像加减乘除一样 是这个意思吗?
----------------解决方案--------------------------------------------------------
位是计算机里数据存储的最小单位。
位有移位,与,或,异或,非等运算。JAVA中右移还分有符号和无符号,分别是>>,>>>。
----------------解决方案--------------------------------------------------------
回复 5楼 buffer
喔,理解了!谢谢~~~ ----------------解决方案--------------------------------------------------------