将int转换为具有固定位数的二进制

giu*_*lio 11 java

java中最简单的方法是将整数的二进制表示形式作为具有固定位数的二进制数(例如,如果我想用5位转换3,那么结果将是00011).在matlab中,我可以指定位数作为参数.

alf*_*ema 11

这是一个简单的方法:

String binaryString = Integer.toBinaryString(number);
binaryString = binaryString.substring(binaryString.length() - numBits);
Run Code Online (Sandbox Code Playgroud)

其中number是要转换的整数,numBits是您感兴趣的固定位数.


Sil*_*ght 8

如果要将其转换int为二进制表示形式,则需要执行以下操作:

String binaryIntInStr = Integer.toBinaryString(int);
Run Code Online (Sandbox Code Playgroud)

如果你想获得一个位数int,你需要这样做:

int count = Integer.bitCount(int);
Run Code Online (Sandbox Code Playgroud)

但是你不能将整数的二进制表示形式作为具有固定位数的二进制数,例如,7有3位,但是你不能将它的位数设置为2或1.因为你不会得到7来自其二进制表示,具有2或1位计数.


小智 3

要将 n 转换为 numbOfBits 位:

public static String intToBinary (int n, int numOfBits) {
   String binary = "";
   for(int i = 0; i < numOfBits; ++i, n/=2) {
      switch (n % 2) {
         case 0:
            binary = "0" + binary;
         break;
         case 1:
            binary = "1" + binary;
         break;
      }
   }

   return binary;
}
Run Code Online (Sandbox Code Playgroud)