十进制小数转二进制小数方法
2016-06-04 21:45
253 查看
十进制小数转二进制小数方法
转自:http://www.cnblogs.com/upzone/articles/1389365.html十进制小数→→→→→二进制小数 方法:“乘2取整”
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分.
如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位
如:0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)
0.8125的二进制
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
十进制小数→→→→→八进制小数 方法:“乘8取整”
0.71875)10 =(0.56)8
0.71875*8=5.75 取整5
0.75*8=6.0 取整6
即0.56
十进制小数→→→→→十六进制小数方法:“乘16取整”例如:
(0.142578125)10=(0.248)16
0.142578125*16=2.28125 取整2
0.28125*16=4.5 取整4
0.5*16=8.0 取整8
即0.248
非十进制数之间的转换
(1)二进制数与八进制数之间的转换
转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:
(423。45)8=(100 010 011.100 101)2
(1001001.1101)2=(001 001 001.110 100)2=(111.64)8
(2)二进制与十六进制转换
转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:
(ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2
(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16
相关文章推荐
- 浮点数在计算机内存中是如何存储的?
- Leetcode反转元音字母
- Spring Configuration Check Unmapped Spring configuration files found
- 第二阶段冲刺(第九天)
- reactjs入门到实战(三)---- 组件详解
- 二叉树的遍历
- Linux高可用(HA)之Nginx+Redis+Tomcat集群实现session保持和共享
- Git常用命令
- COURSERA机器学习笔记2
- Lambda表达式
- iOS开发之C语言函数库
- 人月神话阅读笔记02
- In android studio,cannot load 2 facets-unknown facet type:android and android-gradle
- 一个程序猿菜鸟的心声
- 赢在职场-WEB全栈开发-1-8盒子模型
- java 线程中join的使用
- 【leetcode】1. Two Sum
- java.util.Dictionary源码分析
- 简单封装Http的Get和Post请求
- Linux 下tomcat的session共享