- 201
- 0
- 约5.67千字
- 约 10页
- 2016-05-04 发布于重庆
- 举报
很完整的281016进制转换方法
很完整的2、8、10、16进制转换方法
最近在研究C语言,因为要用到各进制间转换,所以收集了一些资料…
这是一节“前不着村后不着店”的课。不同进制之间的转换纯粹是数学上的计算。不过,你不必担心会有么复杂,无非是乘或除的计算。
生活中其实很多地方的计数方法都多少有点不同进制的影子。
比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。
至于二进制……没有袜子称为0只袜子,有一只袜子称为1只袜子,但若有两袜子,则我们常说的是:1双袜子。
生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度……
我们找到问号字符(?)的ASCII值是63,那么我们可以把它转换为八进值:77,然后用 ‘\77′来表示’?。由于是八进制,所以本应写成 ‘\077′,但因为C,C++规定不允许使用斜杠加10进制数来表示字符,所以这里的0可以不写。
事实上我们很少在实际编程中非要用转义符加八进制数来表示一个字符,所以,6.2.4小节的内容,大家仅仅了解就行。
6.2.5 十六进制数转换成十进制数
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
假设有一个十六进数 2AF5, 那么如何换算成10进制呢?
用竖式计算:
2AF5换算成10进制:
第0位: 5 * 16^0 = 5
第1位: F * 16^1 = 240
第2位: A * 16^2 = 2560
第3位: 2 * 16^3 = 8192 +
————————————-
10997
直接计算就是:
5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
(别忘了,在上面的计算中,A表示10,而F表示15)
现在可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数 1234 为什么是 一千二百三十四?你尽可以给他这么一个算式:
1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0
6.2.6 十六进制数的表达方法
如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。
C,C++规定,16进制数必须以 0x开头。比如 0×1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O)
以下是一些用法示例:
int a = 0×100F;
int b = 0×70 + a;
至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,C,C++并不把它当成一个负数。
6.2.7 十六进制数在转义符中的使用
转义符也可以接一个16进制数来表示一个字符。如在6.2.4小节中说的 ‘?’ 字符,可以有以下表达方式:
‘?’ //直接输入字符
‘\77′ //用八进制,此时可以省略开头的0
‘\0×3F’ //用十六进制
同样,这一小节只用于了解。除了空字符用八进制数 ‘\0′ 表示以外,我们很少用后两种方法表示一个字符。
6.3 十进制数转换到二、八、十六进制数
6.3.1 10进制数转换为2进制数
给你一个十进制,比如:6,如果将它转换成二进制数呢?
10进制数转换成二进制数,这是一个连续除2的过程:
把要转换的数,除以2,得到商和余数,
将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。
听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。
“把要转换的数,除以2,得到商和余数”。
那么:
要转换的数是6, 6 ÷ 2,得到商是3,余数是0。 (不要告诉我你不会计算6÷3!)
“将商继续除以2,直到商为0……”
现在商
您可能关注的文档
- 安全管理基本情况.doc
- 安全维护专项方案.doc
- 安全网技术规范-专用部分.doc
- 安徽省江南十校2013届新高三摸底联考.doc
- 安徽省芜湖市三校2013-2014学年高一政治上学期期末联考试题.doc
- 安淳公司合成塔内件简述.doc
- 安顺学院2010自然地理实习报告(周).doc
- 安装环保空调注意事项.doc
- 安装工程施工实习报告2.doc
- 定向越野复习资料.doc
- 2026及未来5年中国水溶性全粒面填充树脂乳液市场数据分析研究报告.docx
- 2026及未来5年中国锅炉门盖市场数据分析研究报告.docx
- 2026及未来5年中国电视屏幕墙市场数据分析研究报告.docx
- 2026及未来5年中国腹股沟层次解剖模型市场数据分析研究报告.docx
- 2026及未来5年中国半自动精密三次元抄数机市场数据分析研究报告.docx
- 2026及未来5年中国粉末冶金成型剂市场数据分析研究报告.docx
- 2026及未来5年中国片状EMI滤波器市场数据分析研究报告.docx
- 2026及未来5年中国谷维素双维B片市场数据分析研究报告.docx
- 2026及未来5年中国运动帽檐市场数据分析研究报告.docx
- 2026及未来5年中国双支架瓷管市场数据分析研究报告.docx
最近下载
- 厦门市同安区事业单位招聘考试题目及答案2025.docx VIP
- 公示A646-0059宗地光明新区观光站综合体项目pdf - 重庆市环境保护.PDF
- 草坪学 全套课件.ppt VIP
- 物理-河南普通高中青桐鸣大联考2024-2025学年2025届高三年级上学期1月期末考试试题和答案.docx VIP
- 弱电工程入侵报警系统(含紧急求助)设计方案全.docx VIP
- 《化学催化催化剂》课件.ppt VIP
- 金相检验二级试题.pdf VIP
- 未遂事故管理制度.docx VIP
- 安徽医科大学2021年春季学期护理专业《健康评估》期末考试试卷.docx VIP
- NB_T 20436-2017压水堆核电厂水化学控制.pdf
原创力文档

文档评论(0)