1、位基本操作符:
與 &或 |
非 異或 ^
移位 >>、<<
2、應用:
1、判斷乙個數是不是4的次冪
( (x & (x - 1)) == 0 ) && ( (x & 0x55555555) == x)
2、獲取負數
-x = (~x + 1)
3、交換兩個數
int a, b;
a = a ^ b;
b = a ^ b;
a = a ^ b;
4、迴圈移位
(a << k) | ( a >> (32 - k) )
5:位運算實現加減乘除(ps:相對於硬體實現的+-*/效率低很多,放在此處僅僅練習位運算)
#include #includeview code#include
/*a + b
*/int sum(int a, int
b)
returna;}
/*-a
*/int neg(int
a)/*
a - b
*/int sub(int a, int
b)/*
判斷a是不是負數
*/int ispos(int
a)/*
a * b
*/int mul(int a, int
b)
if(!ispos(b))
while
(b)
if(flag)
ans =neg(ans);
return
ans;}/*
a / b
*/int div(int a, int
b)
if(!ispos(b))
inti;
for(i = 31; i >= 0; i = sub(i, 1
))
}if(flag)
ans =neg(ans);
return
ans;
}int
main()
gettimeofday(&etime, null);
printf(
"%ld\n
", etime.tv_sec * 1000 + etime.tv_usec / 1000 - stime.tv_sec * 1000 - stime.tv_usec / 1000
);
return0;
}
UIButton文字位置顯示
按鈕的文字居右 uibutton rightbutton uibutton alloc initwithframe cgrectmake rightbuttonx,0,rightbuttonw frame.size height 如果緊緊設定以下 不會生效 rightbutton.titlelabe...
C基本運算
一 算術運算 1 加法運算 除開能做加法運算,還能表示正號 5 90 2 減法運算 除開能做減法運算,還能表示符號 10 29 3 乘法運算 注意符號,不是x,而是 4 除法運算 注意符號,不是 也不是 而是 整數除於整數,還是整數。1 2的值是0,這個並不是二分之一 5 取餘運算 什麼是取餘 兩個...
opencv Mat 基本運算
mat 是為了與matlab矩陣運算對應而新加的opencv 類,有一些基本的操作,在下邊的 中列出,的資源見 注意mat的行列號是從0開始的 定義矩陣a,b,c mat a,b,c 生成三行四列的全一矩陣 cv 64f表示精度 a mat ones 3,4,cv 64f a mat zeros 3...