clwn.net
当前位置:首页 >> 浮点数 精度 >>

浮点数 精度

浮点数一般包括单精度浮点数(float)和双精度浮点数(double).单精度浮点数精度:最多有7位十进制有效数字.单精度浮点数范围:-3.4*10^38~3.4*10^38.双精度浮点数精度:可以表示十进制的15或16位有效数字 双精度浮点数范围:1.7x10^(-308) ~ 1.7x10^308.区别:可表示的精度不同,占用字节数不同.扩展:浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法.

由这个浮点数在内存中的长度决定 double是64位,占8字节,float32位,占4字节,所以double的精度比float高 在一个浮点数里,由阶码和尾数2部分表示,与科学计数法类似,但是它的阶不是10,而是2,也就是说浮点数的表示是 尾数*2^阶码 阶码决定了浮点数的范围,尾数决定了浮点数的精度,尾数是永远在0~1之间的,假设一个浮点数的尾数是1101011,阶码是101,那么实际上表示的数就是0.1101011*2^101 这里的数都是二进制的,要先转换成10进制,然后再求值 去看下计算机组成原理吧..

第一位储存符号 然后你将该数转换成二进制,用二进制的标准表示法表示 如2^6 * 1.01000111001 接下来的十一位将那个指数6加上1023(幻数)转成二进制,然后接下来的那52位储存标准表示法的后面那些位,如上面那个例子,后面的52位就

浮点型数据又称单精度浮点数,精度表示的是该浮点数的取值范围单精度类型:+-3.4*10^(-38)~~~+-3.4x10^38 单精度占用4个字节的内存双精度类型:+-1.7*10^(-308)~~~+-1.7*10^308 双精度占用8个字节的内存

java 代码double maxd=Double.MAX_VALUE;//最大值double mixd=Double.MIN_VALUE;//最小值System.out.println("双精度浮点在"+mixd+"到"+maxd+"之间");float maxf=Float.MAX_VALUE;//最大值float mixf=Float.MIN_VALU

高级语言的简单数据类型的一种,单精度浮点数占据32位二进制,1位为符号位,0代表正数,1代表负数,8位指数位,即指数可以达到10进制数据的2的8次方,尾数23位,即尾数可以达到2的23次方.

IEEE754计算器http://babbage.cs.qc.edu/IEEE-754/Decimal.html里面带有分析过程,相当强大

176.0652转换成二进制:10110000.0001规格化二进制数:1.01100000001*2^7 (小数点移了7位)计算指数:7+127=134 (127是个标准数值)符号位 指数部分(在本题中由134转换成8位二进制的指数) 尾数部分0 10000110 01100000001 000000000000 (不足32位,后面补0,直到补足32位)二进制结果:0100 0011 0011 0000 0001 0000 0000 0000 十六进制结果:0x43301000还有不明白的地方再问!

根据IEEE754国际标准,常用的浮点数有两种格式.单精度是指用32位(4字节)来表示一个浮点数(小数);双精度是指用64为(8字节)来表示一个浮点数.这个精度可以理解为小数的精确程度.例如,3.123456789这个小数,是不可能用一个数精确的代表的,只能取一个近似值.近似值的精度越高,这个数字就越准确.

浮点数所能表示的范围取决于阶码;精度取决于尾数. 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法.

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com