/*
* 求下面函式的返回值(微軟) -- 統計1的個數
* int a = 65536 + 1024 + 8 + 1;
int c =getc(a);
system.out.println(c);
* 將x轉化為2進製,看含有的1的個數。
注: 每執行一次x = x&(x-1),會將x用二進位制表示時最右邊的乙個1變為0,
因為x-1將會將該位(x用二進位制表示時最右邊的乙個1)變為0。
* */
public static int getc(int x)
return countx;}/*
* 判斷乙個數(x)是否是2的n次方
* 注:
(1) 如果乙個數是2的n次方,那麼這個數用二進位制表示時其最高位為1,其餘位為0。
(2) == 優先順序高於 &
* */
static int func(int x)
注:從c語言而來
x x 1 表示式的意義
求下面函式的返回值 微軟 統計1的個數 int func int x return countx 假定x 9999 10011100001111 答案 8 思路 將x轉化為2進製,看含有的1的個數。注 每執行一次x x x 1 會將x用二進位制表示時最右邊的乙個1變為0,因為x 1將會將該位 x用二...
x x 1 表示式的意義
求下面函式的返回值 微軟 統計1的個數 int func int x return countx 假定x 9999 10011100001111 答案 8 思路 將x轉化為2進製,看含有的1的個數。注 每執行一次x x x 1 會將x用二進位制表示時最右邊的乙個1變為0,因為x 1將會將該位 x用二...
x x 1 表示式的意義
2007 12 04 20 13 求下面函式的返回值 微軟 統計1的個數 int func int x return countx 假定x 9999 10011100001111 答案 8 思路 將x轉化為2進製,看含有的1的個數。注 每執行一次x x x 1 會將x用二進位制表示時最右邊的乙個1變...