当前位置:首页 » 编程语言 » c语言给十进制整数

c语言给十进制整数

发布时间: 2022-08-10 21:55:57

c语言整数转换成十进制的整数

以前写的,程序在win-tc和Dev-c++下调试通过。
/*
任意进制转换
语法:conversion(char s1[],char s2[],char t[]);
s[]:转换前的数字
s2[]:转换后的数字
d1:原进制数
d2:需要转换到的进制数
高于9的位数用大写'A'~'Z'表示,2~16位进制通过验证
*/
#include <stdio.h>
#include <conio.h>

void conversion(char s[],char s2[],int d1,int d2)
{int i,j;
long num,t;
char c;
num=0;
for (i=0;s[i]!='\0';i++)
{
if (s[i]<='9'&&s[i]>='0') t=s[i]-'0';
else if (s[i]>='A'&&s[i]<='F') t=s[i]-'A'+10;
else if (s[i]>='a'&&s[i]<='f') t=s[i]-'a'+10;
else
{printf("Input error!! Press any key to quit!"); return; }
num=num*d1+t;
}
i=0;
while(1)
{
t=num%d2;
if (t<=9) s2[i]=t+'0'; else s2[i]=t+'A'-10;
num/=d2;
i++;
if (num==0) break;
}
/* 这里字符串再倒序排列 */
for (j=0;j<i/2;j++)
{c=s2[j];s2[j]=s2[i-1-j];s2[i-1-j]=c;}
s2[i]='\0';
}

main()
{
char s[20],result[100];
int a,b;
scanf("%s",&s);/* 要转换的数字 */
scanf("%d%d",&a,&b);/* a进制-〉b进制 */
conversion(s,result,a,b);
printf("%s",result);
getch();
}

㈡ c语言编程 将10进制整数转化成任意进制整数

将任意进制的整数化成十进制整数 一、目的和要求 1.应用循环进行幂运算。 2.掌握其它进制的数化成十进制数的计算方法。 3.转换的结果正确。 二、实验内容 1.键盘上任意输入一个任意进制的整数及它的进制。 2.根据其它进制的数化成十进制数的计算方法,编写程序将其转换成十进 制的数。 三、算法 设输入的数为:a0a1a2

㈢ C语言调用函数编写把十进制整数n转换成十六进制怎么编程

思路:十进制整数转换为十六进制整数采用"除16取余,逆序排列"法。
具体做法是:用16整除十进制整数,可以得到一个商和余数;再用16去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为十六进制数的低位有效位,后得到的余数作为十六进制数的高位有效位,依次排列起来。

参考代码:

#include"stdio.h"
intmain()
{
intnum,a[100],i=0,m=0;
charhex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%d",&num);
while(num>0)
{
a[i++]=num%16;
num=num/16;
}
printf("转化为十六进制的数为:");
for(i=i-1;i>=0;i--)//倒序输出
{
m=a[i];
printf("%c",hex[m]);
}
printf(" ");
}
/*
运行结果:
17
转化为十六进制的数为:11
*/

㈣ c语言,输出十进制整数格式符为%d,其他的呢比如2进制

%d,十进制,decimal。
%o,八进制,octal。
%x或%X,十六进制,hexadecimal。以0x或0X开头,与a的大小写对应。
没有直接与二进制对应的格式。

㈤ C语言 将十进制整数化成任意进制的数

不好用,,写的这么复杂..还不如这样
简单又明了:
main()
{
int
a;
char
biao[100];
printf("请输入您要转化的十进制数!!~\n");
scanf("%d",&a);
printf("您的十进制数%d经过转化为二进制数为%s\n",a,itoa(a,biao,2));
printf("您的十进制数%d经过转化为八进制数为%o\n",a,a);
printf("您的十进制数%d经过转化为十六进制数为%X\n",a,a);
}
以上经过调试可以运行.
因为
数字在内存里是以2进制保存的,,建立个字符数组,直接把内存读出来就行了,

㈥ C语言编程:输入一个十进制整数(int 型),以十六进制形式分别输出该数高端2字节和低端2字节对应的值。

代码如下:

#include<stdio.h>
#include<stdlib.h>

intmain()
{

inti=1;

printf("请输入一个整数:");

scanf_s("%d",&i);

printf("%04x,%04x ",((i>>16)&0x0000ffff),i&0x0000ffff);

system("pause");
return0;
}

运行结果:

㈦ 用C语言编程,输入一个十进制正整数,输出其对应的十六进制整数。

#include<stdio.h>

int main()

{

int a,*p;

p=&a;

scanf("%d",p);

printf("%x ",*p);

return 0;

}

(7)c语言给十进制整数扩展阅读:

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

㈧ C语言:键盘输入一个十进制整数,输出其对应的二进制、三进制、四进制……十六进制数值。

#defineN"0123456789ABCDEF"
#include<stdio.h>
voidchange(intx,intn,char*p){
chartmp[100];//临时存放转换数
inti,total=0;
while(x){
tmp[total++]=N[x%n];
x/=n;
}
for(i=total-1;i>=0;i--){
p[total-1-i]=tmp[i];
}
if(total==0){
p[0]='0';
p[1]=0;
}
else
p[total-1-i]=0;
}
intmain()
{
chars[100];//用于存放转换的进制的数
inti,x;
printf("把一个数转换成234...16进制数 ");
scanf("%d",&x);
for(i=2;i<=16;i++){
change(x,i,s);
printf("转换成%d进制是:%s ",i,s);
}
}

热点内容
微信视频如何重新缓存 发布:2025-01-21 04:44:41 浏览:879
pdf压缩文件大小 发布:2025-01-21 04:40:24 浏览:798
linux解压文件到指定 发布:2025-01-21 04:38:36 浏览:874
自己做的安卓app怎么下载 发布:2025-01-21 04:35:07 浏览:163
机顶盒加密频道 发布:2025-01-21 04:26:48 浏览:318
腾讯应用加密 发布:2025-01-21 04:24:38 浏览:988
无法访问f 发布:2025-01-21 04:24:36 浏览:539
sql实时 发布:2025-01-21 04:24:27 浏览:998
怎么在linux服务器上配ip地址 发布:2025-01-21 04:22:10 浏览:251
咖搭姆编程 发布:2025-01-21 04:19:45 浏览:674