㈠ 編程實現:輸入一個十進制數,轉換成對應的二進制數、八進制數和十六進制數並輸出。
1、#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
cout<<"請輸入待轉換的數:";
cin>>a;
//二進制分別計算每一位
if(a==0)cout<<a;
b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余數寫在c的對應位置上
b=b/2;
d*=10;
}
cout<<c<<endl;
//八進制和十六進制使用格式化輸出即可,oct表示八進制,hex表示十六進制
cout<<oct<<a<<endl;
cout<<hex<<a<<endl;
}
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);
}
(1)編程題怎麼把一個數轉化成2進制擴展閱讀:
編譯方式下,首先通過一個對應於所用程序設計語言的編譯程序對源程序進行處理,經過對源程序的詞法分析、語法分析、語意分析、代碼生成和代碼優化等階段將所處理的源程序轉換為用二進制代碼表示的目標程序,然後通過連接程序處理將程序中所用的函數調用、系統功能調用等嵌入到目標程序中,構成一個可以連續執行的二進制執行文件。調用這個執行文件就可以實現程序員在對應源程序文件中所指定的相應功能。
㈡ C語言編程題將十進制M轉換成二進制
#include <stdio.h>
void main()
{
int a[32]={0},i;
long num;
i=0;
printf("請輸入一個十進制數:");
scanf("%ld",&num);
printf("%ld的二進制數為:",num);
while(num>=1)
{
a[i]=num%2;
num=num/2;
i++;
}
for(i=i-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}
這是我寫的程序 要轉八進制只需把這a[i]=num%2;num=num/2;兩句改為a[i]=num%8;
num=num/8;