1 / 14
文档名称:

二进制与十进制的换算方法.doc

格式:doc   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

二进制与十进制的换算方法.doc

上传人:xxj16588 2016/6/5 文件大小:0 KB

下载得到文件列表

二进制与十进制的换算方法.doc

相关文档

文档介绍

文档介绍:二进制与十进制的换算方法浏览次数: 168726 次悬赏分: 0| 解决时间: 2007-5-12 17:23 | 提问者: 白兔豆豆二进制与十进制的换算方法,既要二换十,也要十换二的,要简单点的方法十六进制的最好也说一下谢谢最佳答案 为什么需要八进制和十六进制? 编程中,我们常用的还是 10 进制……必竟 C/C++ 是高级语言。比如: inta= 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* 20 =0第 1位 0* 21 =0第 2位 1* 22 =4第 3位 0* 23 =0第 4位 0* 24 =0第 5位 1* 25 = 32 第 6位 1* 26 = 64 第 7位 0* 27 =0+ --------------------------- 100 用横式计算为: 0* 20 +0* 21 +1* 22 +1* 23 +0* 24 +1* 25 +1* 26 +0* 27 = 100 0乘以多少都是 0,所以我们也可以直接跳过值为 0的位: 1* 22 +1* 23 +1* 25 +1* 26 = 100 八进制数转换为十进制数八进制就是逢 8进1。八进制数采用 0~7这八数来表达一个数。八进制数第 0位的权值为 8的0次方,第 1位权值为 8的1次方,第 2位权值为 8的 2次方……所以,设有一个八进制数: 1507 ,转换为十进制为: 用竖式表示: 1507 换算成十进制。第 0位 7* 80 =7第 1位 0* 81 =0 第 2位 5* 82 = 320 第 3位 1* 83 = 512 + -------------------------- 839 同样,我们也可以用横式直接计算: 7* 80 +0* 81 +5* 82 +1* 83 = 839 结果是,八进制数 1507 转换成十进制数为 839 八进制数的表达方法 C,C++ 语言中,如何表达一个八进制数呢?如果这个数是 876, 我们可以断定它不是八进制数,因为八进制数中不可能出 7以上的阿拉伯数字。但如果这个数是 123 、是 567 ,或 12345670 ,那么它是八进制数还是 10 进制数,都有可能。所以,C,C++ 规定,一个数如果要指明它采用八进制,必须在它前面加上一个 0, 如: 123 是十进制,但 0123 则表示采用八进制。这就是八进制数在 C、 C++ 中的表达方法。由于 C和 C++ 都没有提供二进制数的表达方法,所以,这里所学的八进制是我们学习的, CtC++ 语言的数值表达的第二种进制法。现在,对于同样一个数,比如是 100 ,我们在代码中可以用平常的 10 进制表达, 例如在变量初始化时: inta= 100; 我们也可以这样写: inta= 0144; //0144 是八进制的 100 ;一个 10 进制数如何转成 8进制,我们后面会学到。千万记住,用八进制表达时,你不能少了最前的那个 0。否则计算机会通通当成 10 进制。不过,有一个地方使用八进制数时,却不能使用加 0,那就是我们前面学的用于表达字符的“转义符”表达法。 八进制数在转义符中的使用我们学过用一个转义符'\'加上一个特殊字母来表示某个字符的方法,如: '\n' 表示换行(line) ,而'\t'表示 Tab 字符, '\''则表示单引号。今天我们又学习了一种使用转义符的方法:转义符'\'后面接一个八进制数,用于表示 ASCII 码等于该值的字符。比如,查一下第 5章中的 ASCII 码表,我们找到问号字符