十进制转二进制
2016-05-07 23:34
302 查看
一、二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。例1105 把二进制数110.11转换成十进制数。
二、十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
1. 十进制整数转换为二进制整数
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
例1107 把 (173)10 转换为二进制数。
解:
2.十进制小数转换为二进制小数
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
【例1108】把(0.8125)转换为二进制小数。
解:
例1109 (173.8125)10=( )2
解: 由[例1107]得(173)10=(10101101)2
由[例1108]得(0.8125)10=(0.1101)2
把整数部分和小数部分合并得: (173.8125)10=(10101101.1101)2
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又 得到一个积,再将积的整数部分取出,如此进行,直到积中的整数部分为零,或者整数部分为1,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
十进制小数转二进制
如:0.625=(0.101)B
0.625*2=1.25======取出整数部分1
0.25*2=0.5========取出整数部分0
0.5*2=1==========取出整数部分1
再如:0.7=(0.1 0110 0110...)B
0.7*2=1.4========取出整数部分1
0.4*2=0.8========取出整数部分0
0.8*2=1.6========取出整数部分1
0.6*2=1.2========取出整数部分1
0.2*2=0.4========取出整数部分0
0.4*2=0.8========取出整数部分0
0.8*2=1.6========取出整数部分1
0.6*2=1.2========取出整数部分1
0.2*2=0.4========取出整数部分0
二进制小数的加减运算
0.5 转化成小数2进制是: 0.1 0.25 转化成小数2进制是: 0.01 于是0.5-0.25 = 0.25(这里只是为了说明正确性,实际计算没有必要再转到10进制) 0.10 -0.01 ----- 0.01 说白了就是2进制下的运算,既:逢2进1:1+1=10 ; 1+10=11....
相关文章推荐
- 结构体和typedef
- 俄罗斯方块可以永无止境地玩下去吗?
- Node中的全局变量和全局对象
- 滑动冲突(ScrollView嵌套ViewPager,ViewPager再嵌套ListView)
- g++编译命令选项
- Hadoop WordCount运行详解
- 求链表的第一个公共节点问题(好未来笔试题)
- thrift TBinaryProtocol 数据传输格式
- A - Wireless Network——POJ
- 数据库设计三大范式
- Linux Shell文本处理命令技巧
- 树莓派自动运行应用程序(脚本及图形界面)
- VC Windows API获得桌面所有窗口句柄的方法
- 20145227《Java程序设计》第10周学习总结
- java Web 学习笔记一
- 支付宝的demo运行错误
- acm_最长子序列
- socket编程之select(),poll(),epoll()
- iOS开发--TableView详细解释
- 数据:人类的足迹