java浮点数的二进制格式分析
2007-07-06 14:48
288 查看
float类型在计算机中占用32位
其中符号位1位,阶码8位,尾数23位
比如3.125f
在计算机中存放为:0100 0000 0 100 1000 0000 0000 0000 0000
符号:第1位:0表示正数,1表示负数;
阶码:第2-9位:100 0000 0,即1000 0000为128,所以指数为128-127=1;注意计算方法中必须把从二进制得到的十进制数减127
尾数:第10-32位:100 1000 0000 0000 0000 0000,所以尾数为1.1001,注意计算方法为把10-23位的二进制后面多余的0全部去掉,剩下的就是小数位了,此处为1001,然后在它前面加上1.,浮点数有效位就出来了;
计算值:把尾数得出的二进制乘阶码即可得出最终的浮点值,此处为1.1001(尾数)乘以2的1(阶码)次方,所以最后的浮点值为11.001=1*2^1+1*2^0+0*2^(-1)+0*2^(-2)+1*2^(-3)=3.125其中跟在^后面的数字为指数,比如2^1指的是2的1次方。
java语言中输出float类型数据的二进制代码是:
float f = 3.125f;
System.out.println(Integer.toBinaryString(Float.floatToIntBits(f)));
double类型在计算机中占64位
其中1位符号位,阶码11位,尾数52位
double的计算方法只是在计算阶码的时候减去1023,其他一样
java语言中输出double类型的二进制数据的代码为:
double d = 3.125;
System.out.println(Long.toBinaryString(Double.doubleToLongBits(d)));
其中符号位1位,阶码8位,尾数23位
比如3.125f
在计算机中存放为:0100 0000 0 100 1000 0000 0000 0000 0000
符号:第1位:0表示正数,1表示负数;
阶码:第2-9位:100 0000 0,即1000 0000为128,所以指数为128-127=1;注意计算方法中必须把从二进制得到的十进制数减127
尾数:第10-32位:100 1000 0000 0000 0000 0000,所以尾数为1.1001,注意计算方法为把10-23位的二进制后面多余的0全部去掉,剩下的就是小数位了,此处为1001,然后在它前面加上1.,浮点数有效位就出来了;
计算值:把尾数得出的二进制乘阶码即可得出最终的浮点值,此处为1.1001(尾数)乘以2的1(阶码)次方,所以最后的浮点值为11.001=1*2^1+1*2^0+0*2^(-1)+0*2^(-2)+1*2^(-3)=3.125其中跟在^后面的数字为指数,比如2^1指的是2的1次方。
java语言中输出float类型数据的二进制代码是:
float f = 3.125f;
System.out.println(Integer.toBinaryString(Float.floatToIntBits(f)));
double类型在计算机中占64位
其中1位符号位,阶码11位,尾数52位
double的计算方法只是在计算阶码的时候减去1023,其他一样
java语言中输出double类型的二进制数据的代码为:
double d = 3.125;
System.out.println(Long.toBinaryString(Double.doubleToLongBits(d)));
相关文章推荐
- 通过阅读、分析和翻译二进制格式的Java Class文件学习Java Class的技术
- HTTP POST请求报文格式分析与Java实现文件上传
- HTTP POST请求报文格式分析与Java实现文件上传
- JAVA 实现HTTP POST请求报文格式分析
- Linux系统ELF文件二进制格式分析(三)
- Java二进制协议之Hessian协议格式(3)
- 对于二进制文件,我们用java读出一个一个byte,再用system.out.printlin写到文件里,一个一个分析
- .NET Remoting内存溢出(输入流是无效的二进制格式)故障分析
- HTTP POST请求报文格式分析与Java实现文件上传
- Linux系统ELF文件二进制格式分析(二)
- Log Parser IIS日志分析 .ibl(二进制)格式的日志分析及开启、关闭
- mysql--二进制日志(bin-log)三种格式介绍及分析
- innodb存储引擎之二进制日志文件ROW和STATEMENT格式以及重做日志文件分析与系统恢复详解(未完待续)
- Java之Pcap文件解析(一:Pcap格式分析)
- HTTP POST请求报文格式分析与Java实现文件上传
- .net下二进制序列化的格式分析[转]
- HTTP POST请求报文格式分析与Java实现文件上传
- Linux系统ELF文件二进制格式分析(一)
- 数据结构与算法分析:Java语言描述 mobi格式
- 用Java读二进制报文、做报文分析软件