标签:小数 数据 补充 字节 基础 换算 理论 bool 数值
常用高级编程语言的数据类型通常有
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