1. def dec2bin(dec):
  2. if dec < 0:
  3. s = ''
  4. dec = dec * (-1)
  5. else:
  6. s = ''
  7.  
  8. e = 127
  9. dec = float(dec)
  10. r = int(str(dec).split('.')[0])
  11. i = float('0.'+str(dec).split('.')[1])
  12.  
  13. rA = []
  14. if s == '':
  15.  
  16. if r == 0:
  17. rA = ['']
  18. else:
  19. while r > 0:
  20. rA.append(r%2)
  21. r//=2
  22.  
  23. rA.reverse()
  24. rB = ''.join([str(i) for i in rA])
  25. e = len(str(int(rB))) - 1 + e
  26. elif s == '':
  27. rB = ''
  28. # """
  29. # 0000 1111 0111 0000 1111 0000 1111 0000
  30. # """
  31.  
  32. iNum = 23 - len(str(int(rB))) + 1
  33.  
  34. iA = []
  35. while len(iA) < iNum:
  36. i *= 2
  37.  
  38. if i>= 1:
  39. iA.append('')
  40. i -= 1
  41. if
  42. else:
  43. iA.append('')
  44. if rB == '' and int(''.join(iA)) <= 0:
  45. print(iA)
  46. iNum += 1
  47. e -= 1
  48.  
  49. print(s,bin(e),rB,iA)
  50.  
  51. def main():
  52. dec2bin(0.1)
  53. pass
  54.  
  55. if __name__ == '__main__':
  56. main()

参考文献:

[1]. IEEE 754浮点数标准详解

基于 IEEE 754 标准的 单精度浮点数计算方式 (未完成)的更多相关文章

  1. 打印一个浮点数组,会输出字符串"Hello, world“ & 浮点数的二进制表示(IEEE 754标准)

    #include <stdio.h> #include<stdlib.h> int main() { float a[3] = { 1143139122437582505939 ...

  2. 【算法】解析IEEE 754 标准

    目录结构: contents structure [-] 浮点数的存储过程 次正规数(Denormalized Number) 零(zero) 非数值(NaN) 无穷大(infinity) 除数为0. ...

  3. IEEE 754标准--维基百科

    IEEE二进制浮点数算术标准(IEEE 754) 是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用.这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denorm ...

  4. python 警惕 IEEE 754标准

    双精度浮点数格式,即IEEE 754标准 >>> 0.1+0.2 0.30000000000000004 >>> (0.1+0.2)==0.3 False > ...

  5. IEEE 754标准

    IEEE 754-1985 was an industry standard for representing floating-point numbers in computers, officia ...

  6. IEEE 754二进制浮点数算术标准

    可能很多人都遇到过浮点数精度丢失的问题,下面以JavaScript为例. 1 - 0.9 = 0.09999999999999998 纳尼,不应该是0.1么,怎么变成0.099999999999999 ...

  7. IEEE二进制浮点数算术标准(IEEE 754)

    整理自IEEE 754 IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用.这个标准定义了表示浮点数的格式(包括负零-0) ...

  8. IEEE 754浮点数表示标准

    二进制数的科学计数法 C++中使用的浮点数包括采用的是IEEE标准下的浮点数表示方法.我们知道在数学中可以将任何十进制的数写成以10为底的科学计数法的形式,如下 其中显而易见,因为如果a比10大或者比 ...

  9. IEEE 754 浮点数加减运算

    电子科技大学 - 计算机组成原理 小数的十进制和二进制转换 移码 定义:[X]移 = X + 2n ( -2n ≤ X < 2n ) X为真值,n为整数的位数 数值位和X的补码相同,符号位与补码 ...

随机推荐

  1. [GO]文件的收发服务器

    发送方 package main import ( "fmt" "os" "net" "io" ) //发送文件内容 f ...

  2. java TimeZone类

    TimeZone类主要是对时区的操作 下面是一个简单的例子 public static void main(String[] args) { // TODO Auto-generated method ...

  3. mvc4开篇之BundleConfig(1)

    新建一个mvc4默认项目,会看到以下目录 打开App_start 里面BundleConfig.cs文件 你会看到这么一段话: 有关 Bundling 的详细信息,请访问 http://go.micr ...

  4. Linux Centos下SQL Server 2017安装和配置

    说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境 ...

  5. Javascript中的闭包(转载)

    前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它.下面是作者从作用域链慢慢讲到 ...

  6. 【QTP专题】04_对象及操作方法

    本节介绍知识点包括 1.QTP自动化的原理 2.两类对象:TO(测试对象).RO(运行对象) 3.操作方法:SetTOProperty,GetROProperty,GetTOProperty 1.QT ...

  7. 30.Rotate Image(矩阵旋转)

    Level:   Medium 题目描述: You are given an n x n 2D matrix representing an image. Rotate the image by 90 ...

  8. jQuery阻止默认行为

      <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF- ...

  9. 将yum源更换为阿里的源(脚本)

    #!/bin/bash ######################################### #Function: update source #Usage: bash update_s ...

  10. 【bzoj4888】: [Tjoi2017]异或和 BIT-乱搞

    [bzoj4888]: [Tjoi2017]异或和 题目大意:给定一个序列,求这个序列所有的连续和的异或值.(n<=1e5 ai<=1e6) 想了各种奇怪的方法就是不会做啊啊啊.. Orz ...