编程实现:输入一个十进制数,转换成对应的二进制数、八进制数和十六进制数并输出。

2024-11-12 15:21:48
推荐回答(2个)
回答(1):

1、#include

using namespace std;

int main()

{

int a,b,c,d;

cout<<"请输入待转换的数:";

cin>>a;

//二进制分别计算每一位

if(a==0)cout<

b=a;c=0;d=1;

while(b!=0)

{

c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上

b=b/2;

d*=10;

}

cout<

//八进制和十六进制使用格式化输出即可,oct表示八进制,hex表示十六进制

cout<

cout<

}

2、main()

{ int a,i;char x[16];

float b;

scanf("%d",&a);

printf("八进制为%o,十六进制为%x",a,a);

for(i=0;i<=15;i++)

{b=a/2.0;

a=a/2;

if(b==(float)a) x[15-i]='0';

else x[15-i]='1';

}

printf("二进制为%s",x);

}

扩展资料:

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

参考资料来源:百度百科-编程

回答(2):

以下是C++的:
#include
using namespace std;
int main()
{
int a,b,c,d;
cout<<"请输入待转换的数:";
cin>>a;
//二进制分别计算每一位
if(a==0)cout< b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上
b=b/2;
d*=10;
}
cout< //八进制和十六进制使用格式化输出即可,oct表示八进制,hex表示十六进制
cout< cout<}