• IEEE754浮点数


    1.5.75          0 10000001 0111 0000 0000 0000 0000 000

    161.875             0 10000110 0100 0011 1100 0000 0000 000

    -0.0234375            1 01111001 1000 0000 0000 0000 0000 000

    经检验(具体请看网址http://www.weitz.de/ieee/)该结果无误

    2.利用python实现类浮点数的转换功能

    代码大致如下(尚未能成功分辨符号)

    s = float(input())
      if int(s)!=0:
        f = s-int(s)
        print(int(s),round(f,9))
        f=round(f,9)

        def dec2bin(x):
          x -= int(x)
          a = []
          while x:
            x *= 2
            a.append('1' if x>=1. else '0')
            x -= int(x)
          return a

        print(dec2bin(f))
        c = ''.join(dec2bin(f))
        print(c)

        b = list(str(bin(int(s))))
        print(b)

        del b[0]
        del b[0]
        print(b)

        d = len(b)
        d=d-1+127
        e = list(str(bin(int(d))))
        print(e)
        del e[0]
        del e[0]
        print(e)

        del b[0]
        b = ''.join(b)
        print(b)

        e.extend(b)
        e.extend(c)
        g = ''.join(e)
        print(g)

        j = int(len(e))
        print(j)
        while (j<31):
          e.append('0')
          j = len(e)

        e.insert(0,'0')
        g = ''.join(e)
        print(g)
      if int(s)==0:
        f = s-int(s)
        print(int(s),round(f,9))
        f=round(f,9)
        def dec2bin(x):
          x -= int(x)
          a = []
          while x:
            x *= 2
            a.append('1' if x>=1. else '0')
            x -= int(x)
          return a
        print(dec2bin(f))
        c = dec2bin(f)
        k = c.index('1')
        k = k*(-1)+127
        e = list(str(bin(int(k))))
        del e[0]
        del e[0]
        print(e)
        e.extend(c)
        j=len(e)
        while (j<31):
          e.append('0')
          j = len(e)
        e.insert(0,'0')
        g = ''.join(e)
        print(g)

  • 相关阅读:
    Mac os下安装pycurl
    Mac os 10.9下面配置JAVA_HOME
    同步,异步,阻塞,非阻塞
    Python处理XML
    Apriori算法在购物篮分析中的运用
    Python抓取双色球数据
    为什么这么多Python框架
    Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
    ubuntu 开机自动挂载分区
    VIM 配置随手记
  • 原文地址:https://www.cnblogs.com/wxMing/p/13836646.html
Copyright © 2020-2023  润新知