下载此文档

二进制、八进制、十六进制转换方式.doc


文档分类:生活休闲 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
第六章二进制、八进制、十六进制 为什么需要八进制和十六进制? 二、八、十六进制数转换到十进制数 二进制数转换为十进制数 八进制数转换为十进制数 八进制数的表达方法 八进制数在转义符中的使用 十六进制数转换成十进制数 十六进制数的表达方法 十六进制数在转义符中的使用 十进制数转换到二、八、十六进制数 10 进制数转换为 2 进制数 10 进制数转换为 8、 16 进制数 二、十六进制数互相转换 原码、反码、补码 通过调试查看变量的值 本章小结这是一节“前不着村后不着店”的课。不同进制之间的转换纯粹是数学上的计算。不过, 你不必担心会有么复杂, 无非是乘或除的计算。生活中其实很多地方的计数方法都多少有点不同进制的影子。比如我们最常用的 10 进制, 其实起源于人有 10 个指头。如果我们的祖先始终没有摆脱手脚不分的境况, 我想我们现在一定是在使用 20 进制。至于二进制……没有袜子称为 0 只袜子,有一只袜子称为 1 只袜子,但若有两袜子,则我们常说的是: 1 双袜子。生活中还有:七进制,比如星期。十六进制,比如小时或“一打”,六十进制,比如分钟或角度……(该版课程的内容更新及订正均已停止) 旧版课程打包下载---------------------------------- [ 想看涵盖“面向对象”、“图形编程”、“泛型编程”……的“最新 2008 年版白话 C++ ”课程,请点击! ]( 另有: 博客版) 为什么需要八进制和十六进制? 编程中,我们常用的还是 10 进制……必竟 C/C++ 是高级语言。比如: int a= 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。但,二进制数太长了。比如 int 类型占用 4 个字节, 32 位。比如 100 ,用 int 类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此, C,C++ 没有提供在代码直接写二进制数的方法。用 16 进制或 8 进制可以解决这个问题。因为, 进制越大,数的表达长度也就越短。不过,为什么偏偏是 16或8 进制, 而不其它的,诸如 9或 20 进制呢? 2、8、 16, 分别是 2的1 次方,3 次方,4 次方。这一点使得三种进制之间可以非常直接地互相转换。8 进制或 16 进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 二、八、十六进制数转换到十进制数 二进制数转换为十进制数二进制数第 0 位的权值是 2的0 次方,第 1 位的权值是 2的1 次方……所以,设有一个二进制数: 0110 0100 ,转换为 10 进制为: 下面是竖式: 0110 0100 换算成十进制第0位0*2 0=0第1位0*2 1=0第2位1*2 2=4第3位0*2 3=0第4位0*2 4=0第5位1*2 5= 32 第6位1*2 6= 64 第7位0*2 7=0+ --------------------------- 100 用横式计算为: 0*2 0+0*2 1+1*2 2+1*2 3+0*2 4+1*2 5+1*2 6+0*2 7= 100 0 乘以多少都是 0 ,所以我们也可以直接跳过值为 0 的位: 1*2 2+1*2 3+1*2 5+1*2 6= 100 八进制数转换为十进制数八进制就是逢 8进1。八进制数采用 0~7 这八数来表达一个数。八进制数第 0 位的权值为 8的0 次方,第 1 位权值为 8的1 次方,第 2 位权值为 8的2 次方……所以,设有一个八进制数: 1507 ,转换为十进制为: 用竖式表示: 1507 换算成十进制。第0位7*8 0=7第1位0*8 1=0第2位5*8 2= 320 第3位1*8 3= 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7*8 0+0*8 1+5*8 2+1*8 3= 839 结果是,八进制数 1507 转换成十进制数为 839 八进制数的表达方法 C,C++ 语言中, 如何表达一个八进制数呢?如果这个数是 876, 我们可以断定它不是八进制数, 因为八进制数中不可能出 7 以上的阿拉伯数字。但如果这个数是 123 、是 567 ,或 12345670 ,那么它是八进制数还是 10 进制数,都有可能。所以,C,C++ 规定, 一个数如果要指

二进制、八进制、十六进制转换方式 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-06-05