分类

安卓应用安卓游戏攻略资讯

翻译转换

浮点数十六进制转换器

浮点数十六进制转换器 v0.98绿色版

大小:25 KB

语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8, Win10

类别:翻译转换时间:2017-05-10

浮点数十六进制转换器是一款比较使用的浮点数进制转化工具,提供浮点数转十六进制和进制互转两种方法,支持单精度和双精度转换,转换速度快,准确度高,需要的朋友可以下载!

使用说明

计算机专业的学生和喜欢软件逆向工程的爱好者都知道,浮点数在计算机内部是采用十六进制的方式存储的。采用的是ieee 二进位浮点数算术标准(ieee 754),为许多cpu 与浮点运算器所采用。而目前系统带的计算器却没有这个功能,所以写了这个小工具。另外也包括了10 进制16 进制互换的功能。

用十六进制表示浮点数的方法

在二进制文件中,存储数据的格式为16进制,

下面举例说明27.0f在二进制文件中怎么表示。

float

共计32位,折合4字节

由最高到最低位分别是第31、30、29、……、0位

31位是符号位,1表示该数为负,0反之。

30-23位,一共8位是指数位。

22-0位,一共23位是尾数位。

每8位分为一组,分成4组,分别是A组、B组、C组、D组。

每一组是一个字节,在内存中逆序存储,即:DCBA

27.0表示成二进制为:11011.0

用科学计数法表示为1.110110*2^4,现在我们要的尾数和指数都出来了。

尾数为:1101 10 (删除前面的第一个1,因为用科学计数法表示,二进制中第一个永远都为1,计算机在存储的时候就没有存储这个1,只存储小数点后面的位数) 不足23位,补0,就是1011 0000 0000 0000 0000 000(23位)

指数:为4 。一共8位,可以表示范围是0 ~ 255的无符号整数,也可以表示-128~127的有符号整数。但因为指数是可以为负的,所以为了统一把十进制的整数化为二进制时,都先加上127。

所以:4+127=131 变成二进制就是10000011

27.0用二进制表示就是:

加上第31位的符号位0

就是0100 0001 1101 1000 0000 0000 0000 0000

十六进制就是:41 D8 00 00

再看一个数27.5,二进制为11011.1

1.10111*2^4

尾数(小数点后的数)10111,补够23位 1011 1000 0000 0000 0000 000

指数:4,加上127,就是131,二进制1000 0011

用二进制表示就是 (符号数位1位)0 (指数位8位)1000 0011 (尾数位23位)1011 1000 0000 0000 0000 000

写成二进制标准形式:0100 0001 1101 1100 0000 0000 0000 0000

写成16进制就是41 DC 00 00

展开

猜您喜欢

同类推荐

网友评论