-
位運算和大小端查看全部
-
交換變量查看全部
-
,,,查看全部
-
二進制八卦圖查看全部
-
位運算的幾個應用: 1) 判斷int型變量a是奇數還是偶數 a&1 = 0 偶數 a&1 = 1 奇數 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型變量循環左移k次,即a=a<<k|a>>16-k (設sizeof(int)=16) 6) int型變量a循環右移k次,即a=a>>k|a<<16-k (設sizeof(int)=16) 7)對于一個數 x >= 0,判斷是不是2的冪。 boolean power2(int x){return ( (x&(x-1))==0) && (x!=0);} (8)不用temp交換兩個整數 void swap(int x , int y) {x ^= y;y ^= x;x ^= y;} (9)計算絕對值 int abs( int x ){int y ;y = x >> 31 ; return (x^y)-y ; //or: (x+y)^y } 10)取模運算轉化成位運算 (在不產生溢出的情況下) a % (2^n) 等價于 a & (2^n - 1) 11)乘法運算轉化成位運算 (在不產生溢出的情況下) a * (2^n) 等價于 a<< n 12)除法運算轉化成位運算 (在不產生溢出的情況下) a / (2^n) 等價于 a>> n 例: 12/8 == 12>>3 13) a % 2 等價于 a & 1 14) if (x == a) x= b; else x= a; 等價于 x= a ^ b ^ x; 15) x 的 相反數 表示為 (~x+1) 16)輸入2的n次方:1 << 19 17)乘除2的倍數:千萬不要用乘除法,非常拖效率。只要知道左移1位就是乘以2,右移1位就是除以2就行了。比如要算25 * 4,用25 << 2就好啦查看全部
-
十進制的由來查看全部
-
http://img1.sycdn.imooc.com//54a693a500017c9512000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a6921b0001aa1612000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a6915e00016ce412000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a690da0001d11c12000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a690ca0001887812000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//54a69082000180ca12000530-120-68.jpg查看全部
-
@二進制——數據轉化 1、數字轉化方式如圖 2、字符串:getBytes()查看全部
-
@二進制——JDK內置的進制轉換 static int parseInt(String s) 將字符串參數作為有符號的十進制整數進行分析。 static Integer valueOf(int i) 返回一個表示指定的 int 值的 Integer 實例。查看全部
-
@二進制基礎——位運算 一、異或作用 1、對某個數定位翻轉:0^0=0 1^0=1 0^1=1 1^1=0 · 翻轉位異或1 · 不翻轉位異或0 2、兩個變量值交換:A=A^B;B=A^B;A=A^B(條件:A!=B) 二、左右移 1、左移<< :左丟棄,右補0,但注意整形為32位 2、右移>> :右丟棄,左補0(整數)或者1(負數) 3、無符號右移>>> : 右丟棄,左補0查看全部
舉報
0/150
提交
取消