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

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

这是一种简单的方法:

 String binaryString = Integer.toBinaryString(number); binaryString = binaryString.substring(binaryString.length() - numBits); 

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

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

 String binaryIntInStr = Integer.toBinaryString(int); 

如果要获取int的位数,则需要执行以下操作:

 int count = Integer.bitCount(int); 

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

要将n转换为numb的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; }