zoukankan      html  css  js  c++  java
  • 计算机基础存储结构

    常用高级编程语言的数据类型通常有

    1. bool        占用1位。(理论上)
    2. byte        占用2个字节。
    3. short       占用2个字节。
    4. int           占用4个字节。
    5. long        占用8个字节。
    6. float        占用4个字节。
    7. double    占用8个字节。

    byte类型表示范围为0~2^16-1。既可以用数字0~2^16-1表示也可以用字符表示)。

    short类型表示范围为-2^15~2^15-1。

    int类型表示范围为-2^31~2^31-1。

    long类型表示范围为-2^63~2^63-1。

    以上是整数型的存储范围,整数型的存储结构直接换算为2进制即可。

    float类型有4字节。32位。其2进制表示为。

      0    00000000    0000000 00000000 00000000.

     符号位   指数位        尾数位

    其中第一位为符号位表示数值的正负。

    后8位表示-127的指数位。

    后23位表示尾数位。

    这里举个例子。如-13.75。

    13=(1101)。

    .25=(.11)。

    合起来为1101.11这就是有效尾数位。然后末尾不足24位补0补齐24位。1101.11000000000000000000。

    将小数点往左移3位后砍掉第一个1.得1011100000000000000000。因此指数位得3+127=130=‭10000010。(补充左移动N位就相当于除以2的N次方,所以=指数位。)

    因为-13.75是负数,符号位为1.符号位+指数位+尾数位=1100000101011100000000000000000=-13.75。

    反解析。

    1 10000010 1011100000000000000000。

    10000010 -127=3。

    尾数位前补1位为11011100000000000000000。

    从补的1向后移动3位1101.11000000000000000000。

    解析1101=13.

    0.11=0.75.

    首位为1所以是负数。为-13.75。

    这里解释下.11000000000000000000为0.75的原因是:0.11是2^-1+2^-2=0.75. 换个公私为:S= 2^(-(2^n)),其中n为索引,从0 开始。S= 2^(-(2^0))+2^(-(2^1))=2^-1+2^-2=3/4 = 0.75。

  • 相关阅读:
    过程作为黑箱抽象——《计算机程序的构造和解释》
    过程与它们所产生的计算——《计算机程序的构造和解释》
    重构手法(四)之在对象之间搬移特性
    重构手法(三)之简化条件表达式
    重构手法(二)之简化函数调用
    重构手法(一)之重新组织函数
    代码的坏味道
    泛型算法(二十三)之排列算法
    泛型算法(二十二)之集合操作算法
    泛型算法(二十一)之比较算法
  • 原文地址:https://www.cnblogs.com/Gxqsd/p/10630786.html
Copyright © 2011-2022 走看看