学渣笔记——位运算符

编程入门 行业动态 更新时间:2024-10-10 10:23:56

学渣笔记——位<a href=https://www.elefans.com/category/jswz/34/1771114.html style=运算符"/>

学渣笔记——位运算符

现在也说不上来当初是我没听课还是老师没讲,后来再看发现对位运算符真的一点印象都没有,书上略讲了,可我就是强迫症必须大概弄清楚这是什么,以下对个位运算符的描述算是我查完以后的举例总结

一些前话
  1. 除了“按位与”和“按位或”运算,其他位运算符只能处理整数
  2. 位运算符是完全对位方面的操作
  3. 整型数据在内存中以二进制形式表示,左边最高位是符号位,最高位是0表示正数,最高位是1表示负数。
    负数用补码表示,如下(int型):
    11111111 11111111 11111111 11111000 表示的是-8
    00000000 00000000 00000000 00001000 表示的是8
&:“按位与”运算

写出二进制数,都为1则仍是1,其他情况为0
(以八位为例)如:
1:00000001
2:00000010
3:00000011
则 1 & 2 = 00000000 = 0;1 & 3 = 00000001 = 1

|:“按位或”运算

同理,写出二进制数,都为0则仍是0,其他情况为1
不再举例说明

~:“按位取反”运算

若0,结果写作1;若1,结果写作0

^:“按位异或”运算

若运算数相同(都为0或都为1),则结果写作0;不相同,结果写作1
举例:
4:00000100
7:00000111
4 ^ 7 = 00000011 = 3

<<:“左移位”运算符

写出二进制数,向左移位,低位补0
举例:计算2 << 2
1)2:00000010
2)左移两位:000010__
3)低位补0:00001000
得出:2 << 2 = 00001000 = 8
也可通过公式计算,如:a << b = a * 2 b
则:2 << 2 = 2 * 22 = 8

>>:“右移位”运算符

同理,不过是向右移位,也可当做舍弃右侧位。>>计算带符号,如果是正数,则高位补0,;负数则高位补1。
公式为:a / 2b

>>>:“右移位”运算符(不带符号)

和>>运算规则相似,计算不带符号,不论正负,高位都补0。

更多推荐

学渣笔记——位运算符

本文发布于:2024-02-27 19:21:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766174.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:运算符   笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!