-
从语言实现十六进制数转换输出十进制数
2020-11-25 19:48:53当存在无符号十六进制数(出现的字母为小写),通过代码使其转换成十进制数。 二 代码实现 知识准备: 简单十六进制数0~15为:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 。 0~15对应的ASCII表值为:48,...一 概述
当存在无符号十六进制数(出现的字母为小写),通过代码使其转换成十进制数。
二 代码实现
知识准备:
- 简单十六进制数0~15为:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 。
- 0~15对应的ASCII表值为:48,49,50,51,52,53,54,55,56,97,98,99,100,101,102 。
- 'a'到'f'的ASCII码是97到102 。
- s[i] >= 97:在ASCII码表中为a及以后的字符 。
- s[i] - 87:表示为,如果十六进制数中某位为a,b,c,d,e,f中的某一位,则对应10进制中的10,11,12,13,14,15 。
- s[i] - 48:表示为,十六进制数中某位为0~9,则满足该规则。
代码实例:
#include <stdio.h> int f(char *s) { int n = 0, i; for(i = 0; s[i] != '\0'; i++) { n = n*16 + (s[i] >= 97 ? s[i] - 87:s[i] - 48); } return n; } int main() { char s[10]; scanf("%s",s); printf("%d\n",f(s)); return 0; }
实例结果:
-
7-4 BCD解密(10 分)
2018-04-11 12:02:01但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了! (比如给出二进制 0101 0101,如果对应十六进制,则是0x55,如果对应BCD码,则是55(注意这里是十进制...BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!
(比如给出二进制 0101 0101,如果对应十六进制,则是0x55,如果对应BCD码,则是55(注意这里是十进制的55,上面是十六进制的55)其实这里一直都有点没懂,不管BCD数是几进制最终转换出来的都是十进制吗?BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码。
现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。
输入格式:
输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转换成十六进制时不会出现A-F的数字。
输出格式:
输出对应的十进制数。
输入样例:
18
输出样例:
12
#include<stdio.h> int main(){ int n,a,b; scanf("%d",&n); a = n/16; b = n%16; printf("%d",a*10+b); return 0; }
-
DS18B20数字温度计
2009-11-22 10:59:56//字节的二进制转换为十进制后,就是温度值的百、十、个位值,而剩 //下的低字节的低半字节转化成十进制后,就是温度值的小数部分 /********************************************************/ work_temp(uint tem) {... -
八十多条C语言基础教程
2018-07-10 16:43:03c 将整数转换成二进制数并存放到数组中 c 结构体问题 c 使用winsock实现server和client(通讯程序) c 随机数发生器 c 图形模式详解 c 网页爬虫 c 写图形界面 c 遗传算法实例 c 在图形界面输出文字 c# List的用法 VS... -
Excel公式与函数大辞典.宋翔(带书签高清文字版).pdf
2019-03-02 08:33:512.6.8 DECIMAL——将给定基数的文本转换为十进制数 116 第3章 日期和时间函数 117 3.1 了解Excel日期系统 118 3.1.1 Excel提供的两种日期系统 118 3.1.2 了解日期和时间序列号 119 3.1.3 输入与设置日期和时间 ... -
multisim12清华大学本科教育所用的例子
2013-03-29 16:11:012-85 用T'触发器构成的异步二进制减法计数器 2-86 异步10进制加法计数器 2-87 二-五-十进制异步计数器74LS290 2-88 用置零法将74LS160接成6进制计数器 2-89 2-88电路的改进 2-90 用置数法将74LS160接成6进制计数器... -
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24实例151 如何将B转换成GB、MB和KB 196 实例152 0~N位数的任意组合 197 实例153 在数组中快速查找近似值 199 实例154 猴子选大王算法的实现 200 实例155 使用MD5算法对密码进行加密 201 实例156 恺撒... -
思科网络技术学院教程CCNA1
2013-05-28 06:37:531.2.4 将8位二进制数转换为十进制数 1.2.5 将十进制数转换为8位二进制数 1.2.6 ip地址在十进制二进制之间的转换 1.2.7 使用转换表 1.2.8 十六进制数字系统:base 16 1.2.9 布尔运算和二进制逻辑运算 ... -
EXCEL函数功能整理版
2010-05-30 15:56:2426 BIN2DEC 这个函数将二进制数转换为十进制数。负数用二进制数补码表示 27 CHAR 返回对应于数字代码的字符。函数 CHAR 可将其他类型计算机文件中的代码转换为字符。 28 CLEAN 删除文本中不能打印的... -
二进制中1的个数 测试10 第十一题 数值的整数次方 测试11 第十二题 打印1到最大的n位数 测试12 第十三题 O(1)时间删除链表节点 测试13 第十四题 使数组中的奇数位于偶数前面 测试14 第十五题 找链表中倒数...
-
modbus通信协议
2010-08-06 15:26:22• 8位二进制,十六进制数0...9,A...F • 消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 • 1个起始位 • 8个数据位,最小的有效位先发送 • 1个奇偶校验位,无校验则无 • 1个停止位(有校验... -
delphi 开发经验技巧宝典源码
2010-08-12 16:47:230114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数... -
delphi 开发经验技巧宝典源码02
2010-08-12 16:49:100114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数... -
delphi 开发经验技巧宝典源码05
2010-08-12 16:58:360114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数... -
delphi 开发经验技巧宝典源码03
2010-08-12 16:53:090114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数... -
delphi 开发经验技巧宝典源码06
2010-08-12 16:59:560114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数... -
delphi 开发经验技巧宝典源码04
2010-08-12 16:56:320114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数... -
c语言经典案例
2014-10-30 08:06:57实例215 使二进制数特定位翻转 327 实例216 将输入的数左移两位并输出 327 实例217 编写循环移位函数 328 实例218 取出给定16位二进制数 的奇数位 330 实例219 取一个整数的后四位 331 实例220 求一个数的补码 332 ... -
湖南文理学院微机原理期末考试练习(附详细解析)
2019-01-10 18:55:445 将十进制数35转换成二进制数是:( )。 A:100011 B:100111 C:111001 D:110001 6 在8086CPU中,对时钟周期、指令周期和总线周期的长短排序,正确的是( )。 A:当前正在执行的指令与数据都必须存在主存储器内,否则... -
C程序范例宝典(基础代码详解)
2013-05-17 00:15:35实例002 十进制转换为二进制 3 实例003 n进制转换为十进制 4 实例004 以IP地址形式输出 5 1.2 条件判断 6 实例005 3个数由小到大排序 6 实例006 a2+b2 8 实例007 整倍数 9 实例008 判断闰年 10 实例... -
javascript入门笔记
2018-05-15 15:01:07特点:将 a 和 b 先转换为二进制,按位操作,对应位置上的两个数字,相同时,该位整体结果为0,不同时,该位的整体结果为 1 使用场合:快速交换两个数字 5 ^ 3 101 011 ========== 110 结果为 6 练习: ... -
整理后java开发全套达内学习笔记(含练习)
2011-06-06 14:29:30反码= 非(二进制数) 八进制数,零开头 011(八进制)=9(十进制) 十六进制数,零x开头 0x55(十六进制)=5*16+5(十进制) 类型:数据都必须有类型 boolean (8bit,不定的)只有true和false两个值 char 16bit, 0~2^... -
C#编程经验技巧宝典
2008-06-01 08:59:3358 <br>0081 文本中首字母改为大写 59 <br>0082 C#随机数的产生 59 <br>0083 身份证从15位升至18位算法 60 <br>0084 十进制数转二进制数的算法 60 <br>0085 十进制数转八进制数的算法 61... -
c程序设计习题参考(谭浩强三版)习题参考解答
2010-08-29 23:23:078.14写一函数,输入一个十六进制数,输出相应的十进制数。 64 8.15给出年,月,日,计算该日是该年的第几天。 65 第9章 预处理命令 66 9.1定义一个代参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用... -
c语言题库问题和答案.docx
2020-04-23 16:55:28数组习题(3):完成十进制数转成为二进制数 71%(2795/3951) 30% 2020-4-23 1043 函数习题(8):递归方法求n阶勒让德多项式的值 63%(1671/2652) 38% 2020-4-23 1044 函数习题(9):分解一个整数的所有素数因子 71%(2321/... -
我整理的VBA 自定义函数大全 共138页
2008-11-21 16:14:0379.十进制转二进制 80.检查一个数组是否为空 81.字母栏名转数字栏名 82.数字栏名转文字栏名 83.判断一件活页夹中是否还有子目录 84.判断一个文件是否在使用中 85.列出档案详细摘要信息 86.获取菜单ID编号及名称列表 ... -
上海电机学院C语言实训答案
2012-01-22 15:28:32否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。 (17)给小学生... -
《算术探索》 作者: [德] 卡尔·弗里德里希·高斯 译者: 潘承彪 / 张明尧 出版年: 2011年
2019-05-24 23:22:5989 普通分数转换为十进制数 第312~318目 90 用排除法解同余方程x2≡A 第319~322目 91 用排除法解不定方程mx2+ny2=A 第323~326目 92 A为负数时同余方程x2≡A的另一种解法 第327,328目 93 判别合数与素数及寻求... -
关于ds18b20程序
2009-05-05 18:01:55bit TempCal(float *p_wendu) //成功返0,失败返1 (温度范围-55 --- +128) { uchar temp[9],ii; uint tmp; float tmpwendu; TR1 = 0; TR0 = 0; //读暂存器和CRC值----------------------- if(Ds18b20_ReadEE... -
收藏数
49
精华内容
19