判斷乙個整數的二進位制數里有幾個1

2021-08-01 22:37:12 字數 461 閱讀 9642

思路: 先把整數(十進位制)轉為二進位制來處理吧,比如n=10,二進位制為1010

方法1:最簡單的當然是轉成二進位制後一位一位的比較。

intcount = 0;

string

a=convert.tostring(n, 2);//c#的進製轉化

a.tochararray();

for (int

i=0;i

} return

count;

方法2:與運算,這個比較神奇

int func(unsigned int n)

return count; }

比如輸入10,n-1=9,1010(10的二進位制)&1001(9的二進位制),得到乙個1000(8的二進位制),n=8,count++=1

第二次迴圈,n-1=7,8&7=0,count++=2;跳出迴圈,返回count,也就是說10的二進位制裡面有2個1。。。。

判斷二進位製半整數(二進位制)

10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...

判斷乙個二進位制數的正負

計算機中,用二進位制 或者簡寫成十六進製制 表示數,高位為0的數為正數,高位為1的數是負數。例如,int a 0xf48904e,int b 0xf48904e0,long c 0xf80000000l,long d 0xf800000000000000l.其中,a和c是正數,b和d是負數 通過編寫...

判斷二進位製半整數

判斷二進位製半整數 時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借10...