zoukankan      html  css  js  c++  java
  • C语言中为什么float型数据的范围是3.4E-38~3.4E+38

    因为float所占的位数决定了他的大小
    位数就是计算机的存储所需要的bit多少
    32位浮点,64位双精度浮点范围不同
    //////////////////////
    以前学计算系统基础的时候有这么个说法
    计算机存储的形式都是01了,
    在32位的01中,第一位表示正负,最后8位表示指数,中间的表示小数。
    最后化成1.几的形式的多少次方
    那是自己定义的。
    c也有自己的定义方法吧:
    对于单精度浮点数来说,有阶码8位表示正负
    当尾数渠道全1时再加上小数点前面的1,阶码取到最大正数127(8位,正数最大127,负数最小-128),浮点数渠道正数的最大值。
    +1.111111111111111111111*2^127
    1.后面23个1
    约等于2*2^127=3.4*10^38
    负数亦然
  • 相关阅读:
    线段树
    坐标离散化
    超大背包问题
    折半枚举 双向搜索
    弹性碰撞
    反转 开关问题
    尺取法
    二分法
    最小生成树
    区间素数筛法
  • 原文地址:https://www.cnblogs.com/any91/p/3359076.html
Copyright © 2011-2022 走看看