zoukankan      html  css  js  c++  java
  • 数值类型

    整型:

    数据类型   所占字节数  位数

    int      2      16位

    short    2      16位

    long    4      32位

    浮点型:

    一定要记住,浮点数没有无符号型的,unsigned float/double是错误的。

      数据类型       所占字节数      位数

    (单精度型)float     4      32位

    (双精度型)double    8      64位

    类型  指数长度 尾数长度
    float   8 位           23 位
    double  11 位      52 位

    它们占的字节数不一样。float点四字节,32位,用了23位来表示有效位,转成十进制数就是六到七位有效位,即最高位非0开始,精度在六位数的可以保证它是正确的,第七位数小一点在23位二进制的表示范围内也能保证正确,超过这七位数的,不保证它正确。

    double点八字节,64bit,用52bit表示尾数,转成十进制,它的有效位可以达到16位。

    在IEEE754标准中,规定,float的32位这样分:

    这里应该注意三点:

      A.阶码是用移码表示的,这里会有一个127的偏移量,它的127相当于0,小于127时为负,大于127时为

        正,比如:10000001表示指数为129-127=2,表示真值为2^2,而01111110则表示2^(-1)

      B.尾数全都是小数点后面的数;

      接下来只要说明几个问题就明白了,以123.456为例,表示为二进制就是:N (2) = 1111011.01110100101111001,这里,会右移6位,得到N (2) = 1.111011 01110100101111001*2^6; 这种形式就可以用于上图中的表示格式了。

    注意到,上面的阶码第一位为0表示正。

      阶码的示数位数是8位移码,最大为127最小为-127,这里的127用来作为2的指数,因此为2^127,约等于 1.7014*10^38, 而我们知道,float的示数范围约为-3.4*10^38—3.4*10^38, 这是因为尾数的24位(默认第一位为1)全为时,非常接近2,  1.11…11很明显约为2,因此浮点数的范围就出来了。

  • 相关阅读:
    数据库范式
    将DBF,XLS,XML,MDB文件导入C#DataGrid的方法
    在类文件中引用Server对象
    在使用了母版页的页面里加载css和js文件
    IIS 7.5 URL重写参数
    hdu Can you solve this equation?
    hdu Dome of Circus
    hdu Bone Collector
    hdu Turn the corner
    hdu 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
  • 原文地址:https://www.cnblogs.com/liushao/p/6380810.html
Copyright © 2011-2022 走看看