//十进制转其它进制
我们提供的服务有:做网站、网站制作、微信公众号开发、网站优化、网站认证、常德ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的常德网站制作公司
#include stdio.h
#define charset "0123456789ABCDEFGHIJKLMNOPQ"
int longtoother(long x,int n,char *p){//整数部分转换进制 ,返回数字长度
int i=0,k,m,mm;
char *pp=p;
if (x==0){*p='0'; *(p+1)=0; return 1; }
else{
while(x!=0){ //i用于计数共多少位
k=x%n; *pp=charset[k];
pp++; x/=n; i++;
}
*pp=0; m=i;
for(i=m-1,k=0;ik;i--,k++){
mm=p[i];p[i]=p[k];p[k]=mm;
}
return m;
}
}
char *dectoother(double x,int n,char *p,int xx){ //xx用于指定小数位长度
int i,m;
long xi;
double xf;
char *pp=p;
xi=(long)x; //整数部分
xf=x-xi; //小数部分
m=longtoother(xi,n,pp); //转换整数部分
if(xf==0) {p[m]=0; return p;}
p[m]='.';
for(i=1;i=xx;i++){ //转换小数部分
xf=xf*n;
xi=(long)xf;
p[m+i]=charset[xi];
xf=xf-xi;
if (xf==0) {p[m+i+1]=0; break;}
}
}
char *Dectoother(double x,int n,char *p){ //把x转换成n进制数
if (x0) { //如果是负数
*p='-';
dectoother(-x,n,p+1,16);
}
else
dectoother(x,n,p,16);
return p;
}
int main(){
char str[100];
int n=16;
double x=180.125;
printf("%lf的%d进制是:%s\n",x,n,Dectoother(x,n,str));
}
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
unsigned n,i,k;
printf("Please enter a positive integer...\nn=");
scanf("%d",n);
printf("%d(10) = 0x",n);
if(n){
for(i=0;(n0xf0000000)==0;n=4,i++);
for(;i8;i++){
k=n0xf0000000;
(k=28)=0x0f;
printf("%c",k10 ? k+'0' : k+0x37);
n=4;
}
}
else printf("0");
printf("\n");
return 0;
}
#include "stdio.h"
#include "stdlib.h"
int main()
{
int L1;
printf("输入数字\n");
scanf("%d", L1);
char str1[256];
char str2[256];
char str3[256];
itoa(L1, str1, 2);
itoa(L1, str2, 8);
itoa(L1, str3, 16);
printf("2进制:%s\n8进制:%s\n16进制:%s\n",str1,str2,str3);
return 0;
}
#include stdio.h
#define N 8
void tran(int num,int k)
{
int arr[N],i;
for (i=0;i N;i++)
{
arr[i]=num%k;
num=num/k;
if (num==0)
break;
}
printf("转换为%d进制数为: ",k);
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\n\n");
}
int main()
{
int num,choo;
loop: printf("请选择功能:0.退出 1.十进制转二进制 2.十进制转八进制 3.十进制转十六进制\n");
scanf("%d",choo);
switch (choo)
{
case 1:
printf("请输入要转换的十进制数:");
scanf("%d",num);
tran (num,2);
goto loop;
case 2:
printf("请输入要转换的十进制数:");
scanf("%d",num);
tran (num,8);
goto loop;
case 3:
printf("请输入要转换的十进制数:");
scanf("%d",num);
tran (num,16);
goto loop;
case 0:break;
default :
printf("输入有误!请重新输入!\n");
goto loop;
}
}
拓展资料
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
(参考资料 百度百科 C语言)
#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;}