-
二進(jìn)制計(jì)算:與或運(yùn)算查看全部
-
十進(jìn)制轉(zhuǎn)其他進(jìn)制:查看全部
-
各進(jìn)制單詞: 十六進(jìn)制:Hex 八進(jìn)制:Octal 二進(jìn)制:Binary查看全部
-
0xff八個(gè)1查看全部
-
java 內(nèi)置的進(jìn)制轉(zhuǎn)換查看全部
-
反碼 補(bǔ)碼查看全部
-
右移運(yùn)算查看全部
-
異或運(yùn)算 ^查看全部
-
按位或 |查看全部
-
二進(jìn)制位運(yùn)算查看全部
-
按位與 &查看全部
-
進(jìn)制轉(zhuǎn)換查看全部
-
位運(yùn)算的幾個(gè)應(yīng)用: 1) 判斷int型變量a是奇數(shù)還是偶數(shù) a&1 = 0 偶數(shù) a&1 = 1 奇數(shù) 2) 取int型變量a的第k位 (k=0,1,2……sizeof(int)),即a>>k&1 (先右移再與1) 3) 將int型變量a的第k位清0,即a=a&~(1<<k) (10000 取反后為00001 ) 4) 將int型變量a的第k位置1,即a=a|(1<<k) 5) int型變量循環(huán)左移k次,即a=a<<k|a>>16-k (設(shè)sizeof(int)=16) 6) int型變量a循環(huán)右移k次,即a=a>>k|a<<16-k (設(shè)sizeof(int)=16) 7)對(duì)于一個(gè)數(shù) x >= 0,判斷是不是2的冪。 boolean power2(int x){return ( (x&(x-1))==0) && (x!=0);} (8)不用temp交換兩個(gè)整數(shù) void swap(int x , int y) {x ^= y;y ^= x;x ^= y;} (9)計(jì)算絕對(duì)值 int abs( int x ){int y ;y = x >> 31 ; return (x^y)-y ; //or: (x+y)^y } 10)取模運(yùn)算轉(zhuǎn)化成位運(yùn)算 (在不產(chǎn)生溢出的情況下) a % (2^n) 等價(jià)于 a & (2^n - 1) 11)乘法運(yùn)算轉(zhuǎn)化成位運(yùn)算 (在不產(chǎn)生溢出的情況下) a * (2^n) 等價(jià)于 a<< n 12)除法運(yùn)算轉(zhuǎn)化成位運(yùn)算 (在不產(chǎn)生溢出的情況下) a / (2^n) 等價(jià)于 a>> n 例: 12/8 == 12>>3 13) a % 2 等價(jià)于 a & 1 14) if (x == a) x= b; else x= a; 等價(jià)于 x= a ^ b ^ x; 15) x 的 相反數(shù) 表示為 (~x+1) 16)輸入2的n次方:1 << 19 17)乘除2的倍數(shù):千萬(wàn)不要用乘除法,非常拖效率。只要知道左移1位就是乘以2,右移1位就是除以2就行了。比如要算25 * 4,用25 << 2就好啦查看全部
-
java內(nèi)置的進(jìn)制轉(zhuǎn)換: Integer.toHexString(int i) 十進(jìn)制轉(zhuǎn)成十六進(jìn)制 Integer.toOctalString(int i) 十進(jìn)制轉(zhuǎn)成八進(jìn)制 Integer.toBinaryString(int i) 十進(jìn)制轉(zhuǎn)成二進(jìn)制 Integer.valueOf("FFFF",16).toString() 十六進(jìn)制轉(zhuǎn)成十進(jìn)制 Integer.valueOf("376",8).toString() 八進(jìn)制轉(zhuǎn)成十進(jìn)制 Integer.valueOf("0101",2).toString() 二進(jìn)制轉(zhuǎn)成十進(jìn)制 Integer.parseInt("0101",2)/("76",8)/("FA3",16)查看全部
-
這章意義不大吧,考證易經(jīng)和二進(jìn)制之間的關(guān)系查看全部
舉報(bào)
0/150
提交
取消