博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机基础存储结构
阅读量:4595 次
发布时间:2019-06-09

本文共 1027 字,大约阅读时间需要 3 分钟。

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

  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

你可能感兴趣的文章
apache环境下配置多个ssl证书搭建多个站点
查看>>
PHPExcel随笔
查看>>
利用hadoop自带程序运行wordcount
查看>>
语音活性检测器py-webrtcvad安装使用
查看>>
gson小练习之嵌套复杂数据解析
查看>>
WIFI驱动的移植 realtek 8188
查看>>
Swift - 懒加载(lazy initialization)
查看>>
一张图理解prototype、proto和constructor的三角关系
查看>>
python lambda简单介绍
查看>>
StringBuilder的使用与总结
查看>>
CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能...
查看>>
Java的文档注释之生成帮助文档
查看>>
转:web_url函数学习
查看>>
TCP客户端 服务端详细代码
查看>>
win10用filezilla server搭建ftp服务器一直无法访问
查看>>
字符串算法(KMP,Trie树,AC自动机)
查看>>
Oracle PL/SQL编程之过程
查看>>
Spring(三)--Spring bean的生命周期
查看>>
TextClock的基本使用
查看>>
.NET技术
查看>>