重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
成都创新互联是一家专业提供崆峒企业网站建设,专注与成都做网站、网站建设、HTML5、小程序制作等业务。10年已为崆峒众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
voidmain()
{
//进制转换函数的声明
inttransfer(intx);
intx;
printf("请输入一个十进制数:");
scanf("%d",x);
printf("转换成二进制数是:%d\n",transfer(x));
}
inttransfer(intx)
{
intp=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x2)
{
y+=x*p;
break;
}
}
returny;
}
扩展资料
C语言:整数转换十六进制数和八进制
#includestdio.h
voidmain()
{
inti;
printf("请输入一个十进制数:");
scanf("%d",i);
printf("这个数转换为十六进制数:%x\n\n",i);
printf("这个数转换为八进制数:%o\n",i);
getch();
return0;
}
C++的,如果要TC的将中文改为English就行了
#includestdio.h
#includemath.h
void ten_two()
{
int num, i;
int arr[20];
printf("请输入一个十进制数:");
scanf("%d",num);
for( i = 0 ; 1 ; i++)
{ //转换为二进制并存入数组
arr[i] = num % 2;
num = num / 2;
if(num == 0)
{
break;
}
}
printf("转换为二进制:"); //打印
for(; i = 0 ; i-- ){
printf("%d",arr[i]);
}
printf("\n");
}
void ten_eight()
{
int num, i;
int arr[20];
printf("请输入一个十进制数:");
scanf("%d",num);
for( i = 0 ; 1 ; i++){//转换为八进制并存入数组
arr[i] = num % 8;
num = num / 8;
if(num == 0){
break;
}
}
printf("转换为八进制:"); //打印
for(; i = 0 ; i-- ){
printf("%d",arr[i]);
}
printf("\n");
}
void ten_sixteen()
{
int num, i;
int arr[20];
printf("请输入一个十进制数:");
scanf("%d",num);
for( i = 0 ; 1 ; i++){ //转换为二进制并存入数组
arr[i] = num % 16;
num = num / 16;
if(num == 0){
break;
}
}
printf("转换为十六进制:"); //打印
for(; i = 0 ; i-- ){
switch(arr[i]){
case 10 : printf("A");break;
case 11 :printf("B");break;
case 12 :printf("C");break;
case 13 :printf("D");break;
case 14 :printf("E");break;
case 15 :printf("F");break;
default :printf("%d",arr[i]);
}
}
printf("\n");
}
void two_ten()
{
long num;
int b,TheTen=0,Total=0;
printf("请输入一个二进制数(只包含0或1):");
scanf("%ld",num);
while(num)
{
b=num-(int)(num/10)*10;
TheTen+=b*pow(2,Total);;
Total++;
num=(int)(num/10);
}
printf("转换为十进制:"); //打印
printf("%d",TheTen);
printf("\n");
}
void eight_ten()
{
int num, i;
int arr[20];
printf("请输入一个八进制数(只由0~7之前的数组成):");
scanf("%o",num);
printf("转换为十进制:"); //打印
printf("%d",num);
printf("\n");
}
void sixteen_ten()
{
int num, i;
int arr[20];
printf("请输入一个十六进制数(只由0~9和A~F之前的数组成):");
scanf("%X",num);
printf("转换为十进制:"); //打印
printf("%d",num);
printf("\n");
}
void main()
{
int select;
do{
printf("0 - 退出,1 - 十进制转二进制,2 - 十进制转八进制,3 - 十进制转十六进制,4 - 二进制转十进制,5 - 八进制转十进制,6 - 十六进制转十进制\n");
scanf("%d",select);
switch(select){
case 1 : ten_two(); break; //十进制转二进制
case 2 : ten_eight(); break; //十进制转八进制
case 3 : ten_sixteen(); break; //十进制转十六进制
case 4 : two_ten(); break; //二进制转十进制
case 5 : eight_ten(); break; //八进制转十进制
case 6 : sixteen_ten(); break; //六十进制转十进制
default : printf("您的输入有误,请重新输入!"); break;
}
if(select == 0)
{break;}
}while(1);
}
#include stdio.h
int main()
{
int x,s,n=0;
printf("Please input a decimalism number:\n");
scanf("%d",x);
if(x8){
s=x/9;
n=x%9;
printf("%d%d",s,n);
}else{
printf("%d",x);
}
getch();
}
#includestdio.h
void P(int a,int n){
int i,p[30]={0};
p[0]=a;
for(i=1;i30;i++){
p[i]=p[i-1]/n;
p[i-1]%=n;}
for(i=29;i=0;i--)if(p[i]!=0)break;
for(;i=0;i--)printf("%d ",p[i]);}
int main(){
int a,n;
printf("输入一个整数\n");
scanf("%d",a);
printf("输入要转换的进制\n");
scanf("%d",n);
P(a,n);
return 0;}
将任意进制的整数化成十进制整数
一、目的和要求
1.应用循环进行幂运算。
2.掌握其它进制的数化成十进制数的计算方法。
3.转换的结果正确。
二、实验内容
1.键盘上任意输入一个任意进制的整数及它的进制。
2.根据其它进制的数化成十进制数的计算方法,编写程序将其转换成十进
制的数。
三、算法
设输入的数为:a0a1a2…an
其进制为:base
则
mun=a0×basen-1+an-1×basen-2+…a1×base1+a0×base0