文档详情

二进制、八进制、十六进制.pdf

发布:2019-03-26约1.27万字共26页下载文档
文本预览下载声明
目 录 前言 一 :为什么需要八进制和十六进制? 二 :二、八、十六进制数转换到十进制数 1 :二进制数转换为十进制数 2 :八进制数转换为十进制数 3 :八进制数的表达方法 4 :八进制数在转义符中的使用 5 :十六进制数转换成十进制数 6 :十六进制数的表达方法 7 :十六进制数在转义符中的使用 三 :十进制数转换到二、八、十六进制数 1 :10进制数转换为2进制数 2 :10进制数转换为8、16进制数 四 :二、十六进制数互相转换 五 :原码、反码、补码 六 :通过调试查看变量的值 七 :小结 本文档使用 看云 构建 - 2 - 前言 前言 不同进制之间的转换纯粹是数学上的计算。不过 ,你不必担心会有么复杂 ,无非是乘或除的计算。 生活中其实很多地方的计数方法都多少有点不同进制的影子。 比如我们最常用的10进制 ,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况 ,我 想我们现在一定是在使用20进制。 至于二进制……没有袜子称为0只袜子 ,有一只袜子称为1只袜子 ,但若有两袜子 ,则我们常说的是 :1双袜 子。 生活中还有 :七进制 ,比如星期。十六进制 ,比如小时或 “一打” ,六十进制 ,比如分钟或角度…… 本文档使用 看云 构建 - 3 - 一 :为什么需要八进制和十六进制? 一 :为什么需要八进制和十六进制? 编程中 ,我们常用的还是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进制缩短了二进制数 ,但保持了二进制数的表达特点。在下面的关于进制转换的课程中 ,你可以发现 这一点。 本文档使用 看云 构建 - 4 - 二 :二、八、十六进制数转换到十进制数 二 :二、八、十六进制数转换到十进制数 1 :二进制数转换为十进制数 2 :八进制数转换为十进制数 3 :八进制数的表达方法 4 :八进制数在转义符中的使用 5 :十六进制数转换成十进制数 6 :十六进制数的表达方法 7 :十六进制数在转义符中的使用 本文档使用 看云 构建 - 5 - 1 :二进制数转换为十进制数 1 :二进制数转换为十进制数 二进制数第0位的权值是2的0次方 ,第1位的权值是2的1次方…… 所以 ,设有一个二进制数 :0110 0100 ,转换为10进制为 : 下面是竖式 : 用横式计算为 : 0乘以多少都是0 ,所以我们也可以直接跳过值为0的位 : 本文档使用 看云 构建 - 6 - 2 :八进制数转换为十进制数 2 :八进制数转换为十进制数 八进制就是逢8进1。 八进制数采用 0~7这八数来表达一个数。 八进制数第0位的权值为8的0次方 ,第1位权值为8的1次方 ,第2位权值为8的2次方…… 所以 ,设有一个八进制数 :1507 ,转换
显示全部
相似文档