将12.0625转成IEEE表示的16进制数
来源:互联网 发布:财经类报纸 知乎 编辑:程序博客网 时间:2024/05/21 07:06
/// @file exam_1_1.c/** @brief exam_1_1* 将12.0625转成IEEE表示的16进制数*/#include <stdlib.h>#include <stdio.h>void fn_float2IEEE_hand(); ///< 手工演算void fn_float2IEEE_auto(); ///< 用程序取值int main(int argc, char** argv){ fn_float2IEEE_hand(); fn_float2IEEE_auto(); printf("END, press any key to quit\n"); getchar(); return 0;}void fn_float2IEEE_hand(){ /** exam_1_1* 将12.0625转成IEEE表示的16进制数 手工试算 12.0625 = 12 + 0.0625 = 1100.0001B = 1100.0001B * 2^0 = 1.1000001B * 2^3 = 0x41410000 S = 0, 正浮点 S = 1, 负浮点 SED (S = 1bits, E = 8bits, D = 23bits) S = 0 E = 127 + 3 = 130 = 1000,0010B D = 1000001 补16个0(23 - 7 = 16) 0000000000000000 = 10000010000000000000000 130 = 1000,0010 SED = 0 10000010 10000010000000000000000 = 0100,0001,0100,0001,0000,0000,0000,0000 = 4 1 4 1 0 0 0 0 = 0x41410000 9 = 1001 A = 1010 B = 1011 C = 1100 D = 1101 E = 1110 F = 1111 130 / 2 = 65 => 0 65 / 2 = 32 => 1 32 / 2 = 16 => 0 16 / 2 = 8 => 0 8 / 2 = 4 => 0 4 / 2 = 2 => 0 2 / 2 = 1 => 0 从最后一个商数到第一个余数 10000010B, 必定是8位, 没见过其他位数 12 = 1100B 12 / 2 = 6 => 0 6 / 2 = 3 => 0 3 / 2 = 1 => 1 从最后一个商念到第一个余数 1100B 0.0625 = 0001B 0.0625 * 2 __________ 0.1250 => 0 * 2 __________ 0.250 => 0 * 2 __________ 0.50 => 0 * 2 __________ 0.0 => 1 从一个进位读到最后一个进位 0001B */}void fn_float2IEEE_auto(){ float fObj = 12.0625f; ///< flosat在内存中占用4字节 int ary[1] = {0}; int iArrySubscript = 0; ///< 数组下标 int iIEEE = 0; iArrySubscript = ((int)&fObj - (int)ary) / sizeof(int); iIEEE = ary[iArrySubscript]; printf("fObj = %f, IEEE data on memory is 0X%X\n", fObj, iIEEE); /** run result fObj = 12.062500, IEEE data on memory is 0X41410000 */}
0 0
- 将12.0625转成IEEE表示的16进制数
- IEEE的浮点数表示
- IEEE二进制浮点数的表示
- IEEE二进制浮点数的表示
- IEEE制定的浮点数表示法
- IEEE-754 浮點數的表示法
- 编制一个函数将16进制数的字符转成整数
- C#如何将字符串转成16进制数
- IEEE浮点数表示
- IEEE浮点数表示
- IEEE浮点数表示
- IEEE浮点数表示
- IEEE浮点数表示法 选择自 fireseed 的 Blog
- IEEE 754 浮点数的表示精度探讨
- IEEE 754 浮点数的表示精度探讨 [转载 bossin]
- IEEE 754 浮点数的表示精度探讨(转)
- IEEE 754 浮点数的表示精度探讨
- IEEE浮点数表示法 选择自 fireseed 的 Blog
- 星座论
- Android中ExpandableListVivew可扩展的ListView(十二)
- bilibili的ijk播放器增加arm64的openssl。
- jsp小结10 - 9个内置对象03 exception
- React Native探索(三):与 react-web 的融合
- 将12.0625转成IEEE表示的16进制数
- Linux 操作之基础命令
- Python 线程同步与互斥
- 安卓中 自定义的对话框
- jsp小结11 - 9个内置对象04 out
- 修改ssh默认端口
- 第八周项目5 计数的模式匹配
- iphone 与 iPad在开发中的区别以及iPad中的UIPopoverController的使用
- Spark求数据集中同一主键记录中的最新数据