(1.1.2.1)^、&、>>等运算符的特殊用法
来源:互联网 发布:移动网络玩网通游戏 编辑:程序博客网 时间:2024/06/18 06:54
(1)^异或
1) A和B的变量交换
a=a^b;
b=a^b;
a=a^b;
2)绝对值
y=x>>31;
(x^y)-y;
(2)&按位与
1) 验证时候2的幂
if(!X&(X-1))
X=X&(X-1)到为0前的运行次数
(3)>>右移位
1) 除2
X>>1
(x&y)+((x^y)>>1)
3)加法
Add(int a,int ,b){if(b==0) return a;int sum=a^b;int carry=(a&b)<<1;return Add(sum,carry);}
(4)左移<<
1)快速乘法
3乘以8————3<<3 左移3位
3乘以7————(3<<3)-3 左翼3位相当于乘以8,然后在减去自身一次
1)求较大值
((a+b)+abs(a-b))/2
(6)如何判断一个数是有符号数或者是无符号数
1)采用取反操作
#define ISUNSIGNED(a) (a>=0 && ~a=0)
#define ISUNSIGNED(type) ((type)0-1>0)
无符号数的取反和求正都是整数。
注意:有符号数的正数首位为0,负数为1,求反操作会把1变为0,0变为1
2)通过改变符号位
A=A|(a<<31);
位运算,最高位置1,看看是否大于零;
有符号数会变为负数。
3)有符号函数和有符号数相减为无符号数
(7)查看自身机器的位数
1)对0取反
2)最大数输出
0 0
- (1.1.2.1)^、&、>>等运算符的特殊用法
- js 等性运算符的特殊情况
- 几个比较特殊的运算符(>>,<<,&)
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- shell中$0,$?,$!等的特殊用法
- Shell中$0,$?,$!等的特殊用法
- 第 21、22 讲【项目 2-猴子选大王】
- Number of 1 Bits && Rotate Array && Reverse Bits
- leetcode[21 链表]Merge Two Sorted Lists
- uva 103 Stacking Boxes (DAG)
- Insert Interval
- (1.1.2.1)^、&、>>等运算符的特殊用法
- 线程Thread.join()介绍,实现线程工作时间统计
- HDU 2425 Hiking Trip(搜索+优先队列)
- 继续,黑苹果安装,HP 2560p, HP 8470p,微星 B85I
- shell命令
- 判断一个布局或View的显示状态值
- 平衡二叉树(AVL树)
- nyoj 南阳oj 071独木舟上的旅行 贪心
- Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器