码迷,mamicode.com
首页 > 其他好文 > 详细

计算机基础存储结构

时间:2019-03-31 14:04:36      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:小数   数据   补充   字节   基础   换算   理论   bool   数值   

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

  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。

计算机基础存储结构

标签:小数   数据   补充   字节   基础   换算   理论   bool   数值   

原文地址:https://www.cnblogs.com/Gxqsd/p/10630786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!