求c语言:十进制转十六进制程序
发布网友
发布时间:2022-05-14 05:18
我来回答
共3个回答
热心网友
时间:2023-08-07 12:40
#include <iostream.h>
void main()
{
int num;
cin>>num;
char str[100];
int i = 0;
while (num!=0)
{
if(num%16<10)
str[i]=num%16+'0';
else
str[i] = num%16+'97';
num=num/16;
i++;
}
i--;
while(i>=0)
{
cout<<str[i];
i--;
}
用指针吧 这个比较简单 由于电脑里装软件被删了,不能给你测试了,你自己试试看
数制转换
不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。
实在不行就看老师的教案
计算机中常用的进制
二进制、八进制、十六进制
进制 数 字 进位方法
十进制 0、1、2、3、4、5、6、7、8、9 逢十进一
二进制 0、1 逢二进一
八进制 0、1、2、3、4、5、6、7 逢八进一
十六进制 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 逢十六进一
这些进制与我们日常生活中的进制有怎样的关系呢?
我们日常生活中还有哪些进制?
二进制 八进制 十进制 十六进制
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
10000 20 16 10
三、利用知识完成任务
⒈二进制与十进制的转换。
⑴二进制转换成十进制
把十进制数17转换二进制数。
2 17 1(最低位)
2 8 0
2 4 0
2 2 0
1 1(最高位)
结果等于10001
⒉二进制转换成十进制
把二进制数11011转换成十进制。
(11011)2=1×24 1×23 0×22 1×21 1×20
=16 8 0 2 1
=27
⒊学生练习
把十进制数37转换成二进制数,然后把算出的二进制结果再转换成十进数。
看看我们最终算出来的结果是不是37。
如果不是,那是为什么?
⒋小结:同学们,我们刚才熟悉了计算机的二进制,也了解了二进制与十进制的转换,我们常用的计算器就是运用的二进制的原理进行一些常用的算术运算。
因为二进制有一个很突出的特点,它只有两个数,而我们的计算器要运算的话,就是通过电流的大小或者有电与无电的区别来进行的,电流的大小或者有电无电分别代表数字1和0,从而实现了我们常用的算术运算。
我们刚刚学习了二进制与十进制的转换,那么八进制和十六进制怎样和十进制进行转换呢?我们又该怎样去做?我们能不能借鉴一下刚才的方法?为什么?
学生分组讨论,教师巡视、指导。
(学生回答,教师总结)
⒌八进制、十六进制与十进制的转换。
⑴十进制数转换成八进制数
8 247 7(最低位)
8 30 6
3 3(最高位)
结果等于367
⑵八进制数转换成十进制数
(367)8=3×82 6×81 7×80
=192 48 7
=(247)10
⑶十进制换成十六进制
16 578 2(最低位)
16 36 4
2 2(最高位)
结果等于242
⑷十六进制转换成十进制数
(242)16=2×162 4×161 2×160
=512 64 2
=578
热心网友
时间:2023-08-07 12:40
这里有初学者学的进制转化
http://hi.baidu.com/yongqihejiqing/blog/item/8480f511df76a4c5a7ef3f9e.html
热心网友
时间:2023-08-07 12:41
#include
<stdio.h>
int
main()
{
int
a
;
scanf("%d",
&a
)
;
printf("%x\n",
a
)
;
return
0
;
}
C语言编程:怎么把一个十进制数转换成为一个十六进制数
1. 选择一个底数,即十六进制。在十六进制中,底数为16。2. 将十进制数除以16,记录余数。3. 如果余数小于10,则直接作为十六进制数的一部分;如果余数为10到15之间的某个值,则将其转换为相应的十六进制字母(A到F)。4. 将商再次除以16,继续执行步骤2和3,直到商为0。5. 将所有记录的余数...
c语言十进制转化为十六进制
printf("请输入一个十进制数:");scanf("%d",&num); while(num>0) { yushu=num%16;a[i++]=yushu;num=num/16;} printf("转化为十六进制的数为:0x"); for(i=i-1;i>=0;i--)//倒序输出 {m=a[i];printf("%c",hex[m]); } printf("\n");} 程序运行结果:...
C语言中十进制数是怎么换算成十六进制数的?
设一个数为n,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10 代码如下:include<stdio.h> int main(){ int n = 123456;int unitPlace = n / 1 % 10;int tenPlace = n / 10 % 10;int hundredPlace = n / 100 % 10;int thousandPl...
c语言编程 把十进制转换为十六进制
方法一:#include<iostream>#include <string>using namespace std;string DecIntToHexStr(long long num){string str;long long Temp = num / 16;int left = num % 16;if (Temp > 0)str += DecIntToHexStr(Temp);if (left < 10)str += (left + '0');elsestr += ('A' + left -...
C语言十进制转十六进制数
C语言十进制转十六进制数的源代码如下:include<bits/stdc++.h> using namespace std;void IntZh0x(int n){int s=n%16;if(n/16!=0) IntZh0x(n/16);if(s>9){ if(s==15) cout<<"F";else if(s==14) cout<<"E";else if(s==13) cout<<"D";else if(s==12) cout<<"C"...
如何用c语言实现10进制转换成16进制
include <stdio.h>#define LEN 100char *decimal2Others (int value, char *string, int radix) { /*十进制数转任意进制*//*除基数取余法:十进制数不断除以进制基数直至为零,每次相除取得余数之逆序即为转换结果*/int remain,i=1,j=0; int temp[LEN]; while (value) { /*除基数...
在c语言中用最简单的方法把十进制转化为十六进制
};printf("请输入一个十进制整数:"); scanf("%d",&num); while(num>0) { yushu=num%16; a[i++]=yushu; num=num/16; } printf("转化为十六进制的数为:0x"); for(i=i-1;i>=0;i--)//倒序输出 {m=a[i];printf("%c",hex[m]); } printf("\n"); }程序运行结果:...
用C语言实现:10进制转换16进制,并将16进制存在一个字节中,如何实现...
先把10进制和16进制个位数字对应关系列出如下:0-0、1-1、2-2、3-3、4-4、5-5、6-6、7-7、8-8、9-9、10-A、11-B、12-C、13-D、14-E、15-F 算法举例如下:十进制数2500转成十六进制数 第一步:2500除以16,得156 -- 余数4 第二步:把第一步的整数结果156除以16, 得9 -- ...
如何求十进制数转换为十六进制数,用c语言
可以用递归实现,include <stdio.h> include <stdlib.h> void F(int n){ if ( n ){ F(n/16);if (n%16 < 10) printf("%d",n%16);else printf("%c",(n%16)-10+'A');} } int main(){ int num;scanf("%d",&num);F(num);return 0;} ...
C语言编程:怎么把一个十进制数转换成为一个十六进制数?
第一种:用来糊弄老师的,输入一个数采用16进制格式输出 include <stdio.h> int main(){ int num = 0;scanf("%d", &num);printf("%x", num);return 0;} 第二种:include <stdio.h> include <string.h> char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};void d...