大家好,又见面了,我是你们的朋友全栈君。
如果你想了解以下 位运算符的话我想你来对了地方
& ^ | ~ << >>
首先明确位运算符都是在二进制位上运算的 先讲比较简单的<< >>(有些人可能认为这个最难以理解 包括我) 后来我陡然一时想到了十进制 左移“<<” 右移“>>”
十进制 10左移三位就是乘以10的3次方=10000 10右移三位就是除以10的3次方=0.01
类比一下
1的二进制左移3就是乘以2的3次方也就是8
64的二进制右移3就是除以2的3次方也就是8
看下图
按位与“&” 同位相等并且都是1 则取1否则取0 同1为1
按位或“|” 同位置有1则是1否则为0 有1为1
按位异或“^” 同位 相同为0不同为1
按位取反“~” 同位取反
注意得出来的是补码
比如c=~b 得出来的是c的反码
为了简洁我取二进制前4位和后4位
如下图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185730.html原文链接:https://javaforall.cn