IEEE浮点数表示--规格化/非规格化/无穷大/NaN
来源:互联网 发布:js indexof数组 编辑:程序博客网 时间:2024/04/28 21:10
1.规格化的值
以sizeof(float)=4为例:
1.5的浮点数表示:
1)1.5转换为2进制:1.1
2)转换:0.1*2^0 (整数部分的1省略)
3)得到阶码:127+0=127,即0111 1111 (指数部分可能是负数,为了兼容负数,需要+127)
4)得到尾数:1,后面补齐0
5)确定符号位:0
所以,1.5的浮点数表示如下:
符号位:1bit阶码:8bits尾数:23bits00111 11111000 0000 0000 0000 0000 000程序验证如下:
#include <stdio.h>#include <stdlib.h>int main(){float f = 1.5;printf("%x", *(int*)&f);//打印3fc00000return 0;}3fc00000即:
0 01111111 1000 0000 0000 0000 0000 000
一致!
2.非规格化的值
即,所有的阶码都是0
符号位:1bits阶码:8bits尾数:23bitsx0000 0000xxxx xxxx xxxx xxxx xxxx xxx
用途有2:
1)提供了一种表示值0的方法
2)表示那些非常接近于0.0的数,对“逐渐溢出”属性的支持
代码示例:
////小端模式机器实验#include <stdio.h>#include <stdlib.h>typedef struct _float{int w:23;int j:8;int s:1;}Float;int main(){float f = 0;Float obj;obj.s = 0;obj.j = 0;obj.w = 0x400000;f = *(float*)(&obj);printf("%f", f);//输出0.000000return 0;}
3.无穷大
符号位:1bits阶码:8bits尾数:23bitsx1111 11110000 0000 0000 0000 0000 000
代码示例:
#include <stdio.h>#include <stdlib.h>typedef struct _float{int w:23;int j:8;int s:1;}Float;int main(){float f = 0;Float obj;obj.s = 0;obj.j = 0xff;obj.w = 0x0;f = *(float*)(&obj);printf("%f", f);//输出infreturn 0;}
4.NaN
符号位:1bit阶码:8bits尾数:23bitsx1111 1111非全0
代码示例:
#include <stdio.h>#include <stdlib.h>typedef struct _float{int w:23;int j:8;int s:1;}Float;int main(){float f = 0;Float obj;obj.s = 0;obj.j = 0xff;obj.w = 0x1;f = *(float*)(&obj);printf("%f", f);//输出nanreturn 0;}
- IEEE浮点数表示--规格化/非规格化/无穷大/NaN
- IEEE浮点数表示--规格化/非规格化/无穷大/NaN
- IEEE浮点数表示--规格化/非规格化/无穷大/NaN
- IEEE浮点数表示--规格化/非规格化/无穷大/NaN
- IEEE浮点数表示--规格化/非规格化/无穷大/NaN
- IEEE754浮点数规格化表示
- 非规格化浮点数(nan, inf, subnormal等)的判别和运算
- 规格化浮点数
- 【深入理解计算机系统】【IEEE 754中规格化数的表示】
- 浮点数运算的的规格化
- 补码表示的浮点数的规格化及示数范围
- 将十进制数- 3 / 8 表示成浮点数规格化形式
- 补码表示的浮点数的规格化及示数范围
- IEEE浮点数表示
- IEEE浮点数表示
- IEEE浮点数表示
- IEEE浮点数表示
- IEEE浮点数表示法
- 汇编语言--指令系统整理总结
- Java Socket 编程 Client
- Andorid 在虚拟机中安装APK文件
- sql优化,ordered user_nl() index() 的用法 ,示例 。
- 通过javascript获得url参数
- IEEE浮点数表示--规格化/非规格化/无穷大/NaN
- 如何查看Xcode4的文档问题
- 脚本动态生成VML
- 基于 Android NDK 的学习之旅-----数据传输一(基本数据类型和数组传输)(附源码)
- [转]Windows文件系统的杂谈
- 网上摘的。关于android屏幕翻转的。留着有好处。。。。
- Hibernate查询
- Thread-specific data
- String与Date类型互转