java将十进制转换为任何二进制位
我正在做一个将十进制数转换成二进制数的项目。但我有一个问题,如何将任何输入的数字转换为二进制(我使用的是数组),下面是我的代码:java将十进制转换为任何二进制位,java,converter,Java,Converter,我正在做一个将十进制数转换成二进制数的项目。但我有一个问题,如何将任何输入的数字转换为二进制(我使用的是数组),下面是我的代码: public void Decimal2Binary(int a) { int result []=new int[8]; for (int i = 7;i >=0; i--,a/=2) { result[i]=a%2; } 我不需要它仅用于8位二进制结果,但我需要它用于任何大小。使用此函数Integer.toBinar
public void Decimal2Binary(int a)
{
int result []=new int[8];
for (int i = 7;i >=0; i--,a/=2) {
result[i]=a%2;
}
我不需要它仅用于8位二进制结果,但我需要它用于任何大小。使用此函数Integer.toBinaryString(int)。。。 你为什么希望它是一个数组?
它不能是数组列表或大小数。您实际上没有指定输出,但这里是 假设未签名(看起来像是这样) 如果您需要处理负数,我将使用&运算符进行位比较-您也可以使用>>进行除法,但我将把优化留给编译器,以使源代码更具可读性
显然,您可以将其更改为任何形式的append为什么不将其作为参数传递?
Integer.tobinarysting()
?与、、和(除此之外)的副本不太清楚。在强类型语言中,任何大小都毫无意义,因为基本类型由JLS严格定义。这里没有小数。一切都已经是二进制的了。你真正要做的是分离位。如果你真的想要它作为一个字符串输出,我建议使用标准功能,但是如果你想要以任何形式控制位,这就给了你控制权。
StringBuilder result = new StringBuilder();
while(a > 0) {
result.append(a % 2);
a = a / 2; // This will round down automatically. ;)
}