簡體   English   中英

計算java中的二進制數?

[英]Counting the binary in a number java?

我是java的新手,我想知道是否有任何方法可以計算單個int的二進制中實際的1和0的數量。 例如,我會嘗試找出int 6的二進制32位二進制中的1和0的數量?

使用Integer.bitcount(int)

int ones = Integer.bitCount(n);
int zeros = Integer.bitCount(~n) - Integer.numberOfLeadingZeros(n);

幸運的是,java有一個內置方法:Integer.toBinaryString()它接受一個整數值,將其轉換為二進制,然后將其作為String返回。

或者你可以了解你的java技能並創建自己的方法來完成它。

由於你沒有提供任何代碼,我會給你一些關於如何做到這一點的公會。

  1. 通過調用此方法Integer.toBinaryString(x);獲取int的二進制表示法Integer.toBinaryString(x);
  2. 前一種方法只返回數字的nessecery位,例如在6的情況下,它將返回110 但是您需要32位表示6,因此您必須在該方法返回的結果前添加額外的零。
  3. 創建2個計數器變量。 一個用於一個,一個用於零。
  4. 循環遍歷String的字符,當char == 0增加零計數器時。 char == 1遞增計數器時。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM