-
2020-12-04 09:45:52
二进制整数转换相信大家都会了,但二进制的小数怎么转换,这个问题很好,因为很少会碰到小数的转换,所以一般老师都不会注重的讲,也就被忽略了。在这里我给大家一点提示:在二进制的整数转换中,如
(100110101)B=1×28+0×27+0×26+1×25+1×24+0×23+1×22+0×21+1×20
在整个转换过程中,2的幂从0~8;而如果是小数,如
(1101.1011)B=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4
=8+4+0+1+1/2+0+1/23+1/24
=13+0.5+0.125+0.0625=13.6875
在小数点后面的数,2的幂从-1~-N,这就是它们之间的关系。
关于小数的十进制转换成二进制:
把十进制小数转换成二进制小数所采用的规则是“乘以2取整数”。方法是用2乘以十进制纯小数,将其结果的整数部分去掉;再用2乘余下的纯小数部分,再去掉其结果的整数部分;如此继续下去,直到余下的纯小数为0或满足所要求的精度为止。最后将每次得到的整数部分(0或1)按先后顺序从左到右排列,即得到所对应的二进制小数。
0.6875*2=1.375(取1)
(1.375-1)*2=0.75(取0)
0.75*2=1.5(取1)
(1.5-1)*2=1(取1)
1-1=0(到这就结束了)
因此,十进制小数0.6875转换成二进制小数为0.1011。
注意:有些十进制小数不一定能完全准确地转换成二进制小数。在这种情况下,可以根据精度要求只转换到小数点后某一位为止。
大家得多记一些2的负数字幂的结果,如2-1=0.5,2-2=0.25,2-3=0.125,2-4=0.0625,2-5=0.03125等等。
更多相关内容 -
Python实现的十进制小数与二进制小数相互转换功能
2020-12-25 02:22:52本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下: 十进制小数 ⇒ 二进制小数 乘2取整 对十进制小数乘2得到的整数部分和小数部分, 整数部分即是相应的二进制数码,... -
Python十进制小数和二进制小数相互转换的实现方式
2020-11-26 02:58:22这篇文章主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制与十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的十进制小数与二...这篇文章主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制与十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下
本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:
十进制小数 ⇒ 二进制小数
乘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(第一次所得到为最高位,最后一次得到为最低位)
def dec2bin(x):
x -= int(x)
bins = []
while x:
x *= 2
bins.append(1 if x>=1. else 0)
x -= int(x)
return bins
print(dec2bin(.8125))
# [1, 1, 0, 1]
二进制小数 ⇒ 十进制小数
小数点后,从左向右,每位分别表示
def bin2dec(b):
d = 0
for i, x in enumerate(b):
d += 2**(-i-1)*x
return d
print(dec2bin(0.8125))
# [1, 1, 0, 1]
print(bin2dec(dec2bin(0.8125)))
# 0.8125
以上就是Python十进制小数和二进制小数相互转换的实现方式的详细内容,更多请关注php中文网其它相关文章!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
-
python将小数转化为二进制_Python实现的十进制小数与二进制小数相互转换功能
2021-01-29 14:22:01本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:十进制小数 ⇒ 二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用...本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:
十进制小数 ⇒ 二进制小数
乘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(第一次所得到为最高位,最后一次得到为最低位)
def dec2bin(x):
x -= int(x)
bins = []
while x:
x *= 2
bins.append(1 if x>=1. else 0)
x -= int(x)
return bins
print(dec2bin(.8125))
# [1, 1, 0, 1]
二进制小数 ⇒ 十进制小数
小数点后,从左向右,每位分别表示
def bin2dec(b):
d = 0
for i, x in enumerate(b):
d += 2**(-i-1)*x
return d
print(dec2bin(0.8125))
# [1, 1, 0, 1]
print(bin2dec(dec2bin(0.8125)))
# 0.8125
PS:这里再为大家推荐几款计算与转换工具供大家参考使用:
在线任意进制转换工具:http://tools.jb51.net/transcoding/hexconvert
科学计算器在线使用_高级计算器在线计算:http://tools.jb51.net/jisuanqi/jsqkexue
在线计算器_标准计算器:http://tools.jb51.net/jisuanqi/jsq
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
-
python十进制和二进制的转换方法(含浮点数)
2020-12-24 01:27:20本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下: 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal ... -
十进制小数转化为二进制小数
2020-12-17 22:27:28二、十进制数转换为二进制数十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。1. 十进制整数转换为二进制整数十进制整数转换为二进制整数采....一、二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
例如把二进制数 110.11 转换成十进制数。
二、十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
1. 十进制整数转换为二进制整数
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
例如把 (173)10 转换为二进制数。
解:
2.十进制小数转换为二进制小数
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
例如把(0.8125)转换为二进制小数。
解:
例: (173.8125)10=( )2
解:
在上个例子中得(173)10=(10101101)2
得(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
-
关于十进制小数转二进制的入门教程
2020-11-26 02:58:20十进制:由 0~9 十个数字组成二进制:由 0和1 两个数字组成1、整数转换十进制转二进制的原理:十进制的数除以2,直到商为0,最后反向取余数。比如下图中的例子,十进制的13转为二进制表示,则为1101。二... -
十进制小数转二进制matlab代码-mesh-analysis:用于分析MESh数据的Python和MATLAB脚本
2021-05-23 14:47:52十进制小数转二进制matlab代码网格分析 用于分析MESh数据的Python和MATLAB脚本。 Python和MATLAB代码都读取二进制流(通常是文件),并生成类似“数据帧”的对象。 对于Python代码,这是对象列表,对于MATLAB,这是... -
python二进制转为十进制-Python实现的十进制小数与二进制小数相互转换功能
2020-11-11 14:18:13本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:十进制小数 ⇒ 二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用... -
用python将十进制小数转换为二进制小数
2021-11-17 22:32:04 -
从零开始学Python|如何在Python中将小数转换为二进制
2021-04-27 03:36:37Python是一种高度通用且功能强大的编程语言。在可以做的许多事情中,从十进制转换为二进制,反之亦然...从十进制到二进制输入8输出:1 0 0 0从二进制到十进制输入:100输出4让我们看看如何在Python中将Decimal转换为... -
Python 利用内置函数把二进制小数转换为十进制
2022-01-22 13:23:02python本身并不适合做数值运算,如果需要数值运算的话,调用python的内置函数会快得多。 把二进制小数先左移到小数点左侧,然后用int()函数转换为整数,最后再除以2的左移位数次方即可。 -
Python十进制转二进制,二进制转十进制。浮点数float精度问题
2021-11-19 14:56:44以及Python十进制二进制相互之间的转换 def zbinary(num): #判断是否为整数 if num == int(num): integer = '{:b}'.format(int(num)) #将十进制整数转换为二进制数 return num else: integer_part = int... -
python十进制转二进制_用Python将十进制转换为二进制半精度IEEE 754
2020-11-24 13:09:40I was only able to convert a decimal into a binary single-precision IEEE754, using the struct.pack module, or do the opposite (float16 or float32) using numpy.frombufferIs it possible to convert a dec... -
Python十进制转换为二进制
2021-11-16 23:41:41s1 = float(input("Please input a number:")) s2 = int(s1) s3 = s1-s2 x = [] while s2 != 1: m = s2%2 x.append(m) s2 =... 利用while语句,将整数位除二取整,小数位乘二取整的方法表示出来。 逻辑简单,菜鸟级别。 -
python十进制和二进制的转换 (含浮点数)
2020-11-21 03:03:101 #-*- coding: utf-82 from decimal importDecimal3 def bTod(n, pre=4):4 '''5 把一个带小数的二进制数n转换成十进制6 小数点后面保留pre位小数7 '''8 string_number1 = str(n) #number1 表示二进制数,number2... -
Python十进制小数怎么转二进制
2021-10-15 13:33:47将十进制0.25转为二进制0.01的Python程序 -
python十进制转二进制的详解
2021-04-27 03:36:44python十进制转二进制的详解发布时间:2020-09-16 11:46:35来源:脚本之家阅读:105作者:Vpython十进制转二进制python中十进制转二进制使用 bin() 函数。bin() 返回一个整数 int 或者长整数 long int 的二进制表示...