python 浮点精度,Python浮点数精度问题(包含解决方案)

  python 浮点精度,Python浮点数精度问题(包含解决方案)

  本文介绍和分享python的十进制和二进制转换方法(包括浮点数),同时做笔记。详情如下:

  终于完成了。十进制到二进制的分数让我纠结了将近一个小时。

  上传代码

  #-*-编码:utf-8

  来自医学导论医学

  defBtod(n,pre=4):

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

  小数点后保留小数点前一位。

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

  Decimal=小数部分的0 #二进制值

  标志=假

  对于string_number1中的I:#判断是否有小数部分。

  如果我== . :

  标志=真

  布莱克

  If标志:#当十进制数包含小数部分时

  String_integer,string _ decimal=string _ number 1 . split . #将整数部分与小数部分分开

  傅立叶变换(len (string _ decimal)):

  decimal=2 * *(-I-1)int(string _ decimal[I])#小数部分变成二进制

  number 2=int(str(int(string _ integer,2 ) ) ) decimal

  旋转(数字2,前))。

  否则:#当十进制数只有整数部分时

  Return int (string _ number1,2) #只有整数部分直接用二进制模式把一行代码转换成十进制python还是骚扰?

  defdtob(n,pre=4):

  将十进制数转换成二进制数

  小数点后保留小数点前一位。

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

  标志=假

  对于string_number1中的I:#判断是否有小数部分。

  如果我== . :

  标志=真

  布莱克

  if标志:

  String_integer,string _ decimal=string _ number 1 . split . #将整数部分与小数部分分开

  integer=int(string_integer).

  Dell=Dell (str (n) )-整数

  L1=[ 0,1 ]

  l2=[]

  decimal_convert=

  虽然正确:

  如果integer==0: break

  x,y=divmod(integer,2) #x是商,y是余数。

  L2。应用程序(y))。

  整数=x

  String _ integer=“”。join ([str (j) for j in L2 [:-1]])将整数部分转换为二进制

  i=0

  世界末日!=0且i pre:

  result=int(decimal*2))

  十进制=十进制* 2 -结果

  decimal _ convert=decimal _ convert str(结果)

  i=i 1

  string _ number2=string _ integer . 十进制_转换

  Floating (string _ number2))。

  否则:#当十进制数只有整数部分时

  L1=[ 0,1 ]

  l2=[]

  虽然正确:

  如果n==0:断开

  x,y=divmod(n,2) #x是商,y是余数。

  L2。应用程序(y))。

  n=x

  string_number=“”。join([str(j ) for j in l2[:-1]])

  Return int (string _ number))。

  希望以上就是正文的全部内容,对大家的学习有所帮助。另外,希望大家能支持聚米学院。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: