首页 > 编程知识 正文

十进制数转化为浮点数,python字符串转16进制

时间:2023-05-04 01:28:43 阅读:153698 作者:3015

本文介绍和共享了包含浮点数的python的十进制和二进制转换方法,并留下了笔记。 具体情况如下:

终于写完了。 从十进制到二进制的小数部分花了我将近一个小时

上传代码

#-*- coding: utf-8

from decimal import Decimal

defBtod(n,pre=4) :

“”'

将包含小数的二进制数n转换为十进制数

在小数点后面留下pre位的小数

“”'

string_number1=str(n ) #number1表示二进制数,number2表示十进制数

decimal=0 #将小数部分二进制化后的值

flag=False

for i in string_number1: #判断有无小数部分

if i=='.':

flag=True

布莱克

if flag: #进制数中包含小数部分时

string_integer,string _ decimal=string _ number1. split '.' #分离整数部分和小数部分

foriinrange (字符串描述) :

decimal=2**(-I-1 ) int(string_decimal[I] ) #小数部分是二进制

number2=int (str (int (string _ integer,2 ) ) ) )深度

返回路径(number 2,pre ) )。

else: #如果二进制数只有整数部分

return int (string _ number 1,2 ) #是直接将一行代码转换为二进制十进制python,还是骚扰整数部分

defdtob(n,pre=4) :

“”'

将带有小数的十进制数n转换为二进制数

在小数点后面留下pre位的小数

“”'

string_number1=str(n ) #number1表示十进制数,number2表示二进制数

flag=False

for i in string_number1: #判断有无小数部分

if i=='.':

flag=True

布莱克

if flag:

string_integer,string _ decimal=string _ number1. split '.' #分离整数部分和小数部分

integer=int(string_integer ) )。

decimal=decimal(str(n ) ) -集成器

L1=[ 0,1 ]

l2=[]

decimal_convert=' '

while True:

if integer==0: break

x,y=divmod(integer,2 ) #x为商,y为剩余

L2.append(y ) )。

integer=x

string_integer=''.join([str(j ) for j in l2[:-1]] )将整数部分转换为二进制

i=0

while decimal!=0 and i pre:

result=int(decimal*2) )

decimal=decimal * 2 - result

decimal _ convert=decimal _ convertstr (result )

i=i 1

string _ number2=string _ integer '.' decimal _ convert

返回浮点(string _ number2) )。

else: #如果二进制数只有整数部分

L1=[ 0,1 ]

l2=[]

while True:

if n==0: break

x,y=divmod(n,2 ) #x为商,y为剩余

L2.append(y ) )。

n=x

string_number=''.join([str(j ) for j in l2[:-1]] )

returnint(string_number ) )。

以上是本文的全部内容,希望对大家的学习有帮助。 另外,我希望你多支持找教程网。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。