【发布时间】:2020-01-05 04:24:47
【问题描述】:
我必须将值从 1 转换为 63(十进制到二进制),以便将其存储在表中的 6 位。 例如,如果我输入 2 它会将其转换为二进制: 10 ,但我希望它显示在 6 位,例如 000010。并将其存储在一个表中。 我找不到将十进制转换为二进制并显示 6 个位置的代码。我应该怎么做...??
#include <iostream>
using namespace std;
int main()
{
int a[10], n, i;
cout<<"Enter the number to convert: ";
cin>>n;
for(i=0; n>0; i++)
{
a[i]=n%2;
n= n/2;
}
cout<<"Binary of the given number= ";
for(i=i-1 ;i>=0 ;i--)
{
cout<<a[i];
}
}
我试过这个,但我把它转换成指定的位,比如在 10 中转换 2,在 11 中转换 3,和其他的一样,但我想把它转换成 3=000011。
【问题讨论】:
-
您可以稍微修改一下现有代码。你明白每一行代码在做什么吗?
-
假设您知道您有 2 位数字。并且您想在左侧填充零,总共 6 个。因此,您必须输出 6-2=4 个前导零...
-
我格式化了你的代码:“缩进”很好。更常见的方法是使用
>>和&而不是%和/。但是您的算法应该可以完成工作。您所要做的就是进一步考虑在转换为二进制之前和之后您要做什么:)