十进制小数转换成二进制小数_第1页
十进制小数转换成二进制小数_第2页
十进制小数转换成二进制小数_第3页
十进制小数转换成二进制小数_第4页
十进制小数转换成二进制小数_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0.7 5 a1. 5 00X11. flflo来段舟址Slfii 5-1十进制小数转换成二进制小数进制转换是人们利用符号来计数的方式,包括很多种数字转换。进制转换由一组 数码符号和两个大体因素(“基”与“权”)组成。目录展开一、正数在高速进展的现代社会,运算机浩浩荡荡地成了人们生活中不可缺少的一部份,帮忙人们解决通信,联络,互动等各方面的问题。今天我就给大伙儿讲讲与运算机有 关的“进制转换”问题。咱们以()(十)为例讲解一下进制之间的转化问题。十 二给你一个十进制,比如:6,若是将它转换成二进制数呢?10进制数转换成二进制数,这是一个持续除 2的进程: 把要转换的数,除以2,取得商和余数,将

2、商继续除以2,直到商为0。最后将所有余数倒序排列,取得数确实是转换结 果。听起来有些糊涂?咱们结合例子来讲明。比如要转换6为二进制数。“把要转换的数,除以2,取得商和余数”。那么:260193111十转二示用意要转换的数是6,6 - 2,取得商是3,余数是0。“将商继续除以2,直到商为0”此刻商是3,还不是0,因此继续除以2。 那就:3三2,取得商是1,余数是1。“将商继续除以2,直到商为0”此刻商是1,还不是0,因此继续除以2。那就:1三2,取得商是0,余数是1“将商继续除以2,直到商为0最后将所有余数倒序排列” 好极!此刻商已是0。咱们三次计算依次取得余数别离是:0、一、1,将所有余数倒序

3、排列,那确实是: 110 了!6转换成二进制,结果是110。把上面的一段改成用表格来表示,那么为: 被除数计算进程商余数6 6/2 3 03 3/2 1 11 1/2 0 1(在运算机中,一用/来表示)二 十二进制数转换为十进制数 二进制数第0位的权值是 2的0次方,第1位的权值是 2的1次方 因此,设有一个二进制数: 0110 0100 ,转换为 10 进制为: 下面是竖式:0110 0100 换算成 十进制人为次方第 0 位 0 * 2A0 = 0第1位0 * 2人1 = 0第2位 1 * 2A2 = 4第 3 位 0 * 2A3 = 0第 4 位 0 * 2A4 = 0第5位 1 * 2

4、A5 = 32第6位 1 * 2A6 = 64第 7 位 0 * 2A7 = 0 100用横式计算为:0 * 2 A 0 + 0 * 2 A 1 + 1 * 2 A 2 + 1 * 2 A 3 + 0 * 2 A 4 + 1 * 2 A 5 + 1 * 2 A 6 + 0 * 2 A7 = 1000 乘以多少都是 0,因此咱们也能够直接跳过值为 0 的位:1 * 2 A 2 + 1 * 2 A 3 + 1 * 2 A 5 + 1 * 2 A 6 = 100十 八10进制数转换成 8进制的方式,和转换为 2进制的方式类似,唯一转变:除数由 2 变成 8。来看一个例子,如何将十进制数 120 转换

5、成八进制数。用表格表示:被除数 计算进程 商 余数120 120/8 15 015 15/8 1 71 1/8 0 1120 转换为 8 进制,结果为: 170。八 十八进制确实是逢 8 进 1。八进制数采纳07这八数来表达一个数。八进制数第 0 位的权值为 8 的 0 次方,第 1 位权值为 8 的 1 次方,第 2 位权值为 8的2次方.因此,设有一个八进制数: 1507,转换为十进制为:用竖式表示:1507 换算成十进制。第 0 位 7 * 8A0 = 7第1位0 * 8人1 = 0第 2位 5 * 8A2 = 320第 3位 1 * 8A3 = 512839 一样,咱们也能够用横式直接

6、计算:7 * 8A0 + 0 * 8A1 + 5 * 8A2 + 1 * 8A3 = 839 结果是,八进制数 1507 转换成十进制数为 839十 十六10进制数转换成 16进制的方式,和转换为 2进制的方式类似,唯一转变:除数 由2变成 16。一样是 120,转换成 16 进制那么为:被除数 计算进程 商 余数120 120/16 7 87 7/16 0 7120 转换为 16 进制,结果为: 78。十六 十16进制确实是逢 16进1,但咱们只有 09这十个数字,因此咱们用 A,B,C, D,E,F 这五个字母来别离表示 10,11,12,13,14,15。字母不区分大小写。十六进制数的第

7、 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 * 16A1 = 240第 2 位:A * 16A2 = 2560第 3 位: 2 * 16A3 = 8192 10997直接计算确实是:5 * 16A0 + F * 16A1 + A * 16A2

8、 + 2 * 16A3 = 10997(别忘了,在上面的计算中, A 表示 10,而 F 表示 15) 此刻能够看出,所有进制换算成 10 进制,关键在于各自的权值不同。 假设有人问你,十进数 1234 什么缘故是 一千二百三十四?你尽能够给他这么 一个算式:1234 = 1 * 10A3 + 2 * 10A2 + 3 * 10A1 + 4 * 10A0二 八()(二)整数部份: 从后往前每三位一组,缺位处用 0 填补,然后按十进制方式进行转 化, 那么有:001=1011=3然后咱们将结果按从下往上的顺序书写确实是:3 1 ,那么那个 31 确实是二进制11001 的八进制形式小数部份: 之

9、前去后每三位一组,缺位处用 0 填补,然后按十进制方式进行转 化, 那么有:101=5然后咱们将结果部份按从上往下的顺序书写确实是: 5,那么那个 5 确实是二进 制的八进制形式因此: ()(二) =()(八) TOC o 1-5 h z 八 二()(八) 整数部份:从后往前每一名按十进制转化方式转化为三位,缺位处用 0 补充 那 么有:11001311然后咱们将结果按从下往上的顺序书写确实是: 11001,那么那个 11001 确实是 八进制 31 的二进制形式 说明,关于十进制的转化方式我那个地址就再也不说了,上一篇文章我已经讲解 了!小数部份:之前去后每一名按十进制转化方式转化为三位二进

10、制数,缺位处用 0 补充 那么有:5101然后咱们将结果按从下往上的顺序书写确实是: 101,那么那个 101 确实是八进 制 5 的二进制形式因此:()(八) =()(二)十六 二 ;二 十六二进制和十六进制的相互转换比较重要。只是这二者的转换却不用计算,每一个C, C+程序员都能做到看见二进制数,直接就能够转换为十六进制数,反之亦然。 咱们也一样,只要学完这一末节,就能够做到。第一咱们来看一个二进制数: 1111,它是多少呢?你可能还要如此计算:1 * 2A0 + 1 * 2人1 + 1 * 2人2 + 1 * 2人3 = 1 * 1 + 1 * 2 + 1 * 4 +1 * 8 = 15

11、。但是,由于 1111 才 4 位,因此咱们必需直接记住它每一名的权值,而且是从高 位往低位记,:八、4、二、1。即,最高位的权值为2A3 = 8,然后依次是2A2 = 4, 2A1 = 2,2A0 = 1。记住 8421 ,关于任意一个 4 位的二进制数,咱们都能够专门快算出它对应的 10 进制值。下面列出四位二进制数 xxxx 所有可能的值(中间略过部份) 仅4位的 2进制数 快速计算方式 十进制值 十六进值1111 = 8 + 4 + 2 + 1 = 15 F= 8 + 4 + 2 + 0 = 14 E1101 = 8 + 4 + 0 + 1 = 13 D1100 = 8 + 4 + 0

12、 + 0 = 12 C1011 = 8 + 0 + 2+ 1 = 11 B1010 = 8 + 0 + 2 + 0 = 10 A1001 = 8 + 0 + 0 + 1 = 9 90001 = 0 + 0 + 0 + 1 = 1 10000 = 0 + 0 + 0 + 0 = 0 0 二进制数要转换为十六进制,确实是以 4 位一段,别离转换为十六进制。 如(上行为二制数,下面为对应的十六进制 ):1101 , 1010 0101 , 1001 1011F D , A 5 , 9 B反过来,当咱们看到 FD 时,如何迅速将它转换为二进制数呢? 先转换 F:看到F,咱们需明白它是15 (可能你还不

13、熟悉AF这五个数),然后15如何用 8421 凑呢?应该是 8 + 4 + 2 + 1 ,因此四位全为 1 :1111。接着转换 D:看到D,明白它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。 因此,FD转换为二进制数,为:1111 1011由于十六进制转换成二进制相当直接,因此,咱们需要将一个十进制数转换成 2 进制数时,也能够先转换成 16进制,然后再转换成 2进制。比如,十进制数 1234 转换成二制数,若是要一直除以 2,直接取得 2 进制数, 需要计算较多次数。因此咱们能够先除以 16,取得 16 进制数:被除数 计算进程 商 余数1234 1234/1

14、6 77 277 77/16 4 13 (D)4 4/16 0 4结果 16 进制为: 0 x4D2然后咱们可直接写出0 x4D2的二进制形式:0100 1101 0010。其中对映关系为:0100 - 41101 - D0010 - 2一样,若是一个二进制数很长,咱们需要将它转换成 10 进制数时,除前面学过 的方式是,咱们还能够先将那个二进制转换成 16进制,然后再转换为 10进制。下面举例一个 int 类型的二进制数:01101101 00011011咱们按四位一组转换为 16 进制: 6D E5 AF 1B二、负数负数的进制转换略微有些不同。先把负数写为其补码形式(在此不议) ,然后再

15、依照二进制转换其它进制的方式 进行。例:要求把 -9 转换为八进制形式。那么有:-9 的补码为。然后三位一划 TOC o 1-5 h z 111711060113然后咱们将结果按从下往上的顺序书写确实是: 367 ,那么 367 确实是十进制数 -9 的八进制形式。补充: 最近有些朋友提了如此的问题 “的十六进制是多少? ” 我想在我的空间里已经有了详细的讲解,什么缘故他还要问如此的问题那 于是我就动手算了一下,发觉、 、. . 一些数字在进制之间的转化 进程中确实存在麻烦。就比如“的十六进制 ”吧! 不管你怎么乘以 16 ,它的余数总也乘不尽,老是余 8 这可如何办啊,我也没辙了 第二天,我

16、请教了我的教师才明白,原先这么简单啊! 具体方式如下:*16=*16=取每一个结果的整数部份为 12 既十六进制的 C 若是题中要求精准到小数点后 3 位那结果确实是 若是题中要求精准到小数点后 4 位那结果确实是 此刻 OK 了,我想我的朋友再也可不能因为进制的问题烦愁了! 下面是将十进制数转换为负 R 进制的公式: N=(dmdm-1.d1d0)-R=dm*(-R)Am+dm-l*(-R)Am-l+.+dl*(-R)Al+dO*(-R)A15=l*(-2)人4+0*(-2)人3+0*(-2)人2+1*(-2)人1+1*(-2)人0=10011(-2) 其实转化成任意进制都是一样的 初学者最容易犯的错误! !犯错:(-617 ) D= (-1151 ) O= (-269 ) H 缘故分析:若是是正数的话,上面的思路是正确的, 可是由于正数和负数在原码、 反码、补码转换上的不同,因此依照正数的求解思路去对负数进行求解是不对的。正确

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论