java - 是否可以仅使用循环将二进制转换为十进制
问题描述
大家好,我只是想知道是否可以仅使用循环而不使用其他高级代码将二进制数转换为十进制数。下面的代码只是一个将十进制数转换为二进制的程序,但我希望制作一个仅通过使用循环将二进制转换为十进制的程序。
System.out.print("Enter Decimal: ");
int decimal = pal.nextInt();
int num = 1;
int binary = 0;
for(int j=decimal;j>0;j/=2)
{
binary = binary +(decimal%2)*num;
num = num * 10;
decimal = decimal / 2;
}
System.out.println("The binary is: "+binary);
解决方案
笔记:
您也可以将此代码概括为十进制表示。
你也可以接受用户的输入,因为你只需要基本的想法,所以我省略了这些东西。
此外,由于没有首选特定语言,我选择了 python。
您可以通过简单的 for 循环:
b="111" #LET US ASSUME THE BINARY NUMBER IS "111"
bb=list(b)
for i in range(0,len(bb)):
bb[i]=int(bb[i])
d=0
for i in range(0,len(bb)):
d=d+(bb[i])*(2)**(i)
print(d)
希望能帮助到你。