我正在制作一个将十进制数转换为二进制数的项目。但我有一个问题,如何将任何输入的数字转换为二进制(我正在使用数组),这是我的代码:
public void Decimal2Binary(int a)
{
int result []=new int[8];
for (int i = 7;i >=0; i--,a/=2) {
result[i]=a%2;
}
我不需要它仅仅是8位二进制结果,但是,我需要任何大小。
答案 0 :(得分:0)
使用此函数Integer.toBinaryString(int)... 为什么你想要它在一个数组? 不能是数组列表或大小数。
答案 1 :(得分:0)
你实际上没有指定输出,但是这里就是。
假设无符号(看起来像你有)。
StringBuilder result = new StringBuilder();
while(a > 0) {
result.append(a % 2);
a = a / 2; // This will round down automatically. ;)
}
如果您需要处理负数,我会使用&进行逐位比较。运营商 - 您也可以使用>>对于除法,但我将保留编译器的优化,以使源更易读。
显然你可以将其改为任何形式的追加