码迷,mamicode.com
首页 > 其他好文 > 详细

位操作运算符梳理

时间:2016-09-20 21:16:23      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

(晚上实在是闲的胃疼。。翻了翻代码发现位运算还写的不太好,在这里梳理一下位运算符)

运算符 含义 说明 例子
& 按位与

把参与运算的两个数对应的二进制位相与,只有对应的二进制均为1时,结果的对应位才为1,否则为0.

9&5中9可以写成00001001,5可以写成00000101,9&5的运算结果是00000001.转化为十进制输出结果是1.

| 按位或 把参与运算的两个数对应的二进制位相或,也就是只要对应的两个二进制位有一个为1时,其结果就为1.

9|5相当于00001001|00000101,运算结果是00001101.转化为十进制输出结果是13.

^ 按位异或

把参与运算的两个数对应的二进制位相异或,当对应的二进制位上的数字不相同时结果为1,否则为0.

9^5相当于00001001^00000101,运算结果是00001100.转化为十进制输出结果是12.
~ 取反 把运算数的各个二进制位按位求反,各位原来是0的改为1,原来是1的改为0. ~9相当于~(00001001),运算结果是11110110.转化为十进制输出结果是246.
<< 左移 把<<左边的运算数的各二进制位向左移若干位,<<右边的数是指定移动的位数,高位丢弃,低位补0. 3<<4相当于把3=00000011左移4位,运算结果是001100 00.转化为十进制输出结果是48.
>> 右移 把>>左边的运算数的各二进制位向右移若干位,>>右边的数是指定移动的位数,高位丢弃,低位补0. 15>>2相当于把15=00001111右移2位,运算结果是0000 0011,转化为十进制输出结果是3.

 

发现表格不怎么会用。。以后再练练吧

明天滚去上学。。估计要被三主课老师叫出去殴一顿QAQ

大家晚安。。

位操作运算符梳理

标签:

原文地址:http://www.cnblogs.com/YSFAC/p/5890273.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!