浮点数在计算机中的储存原理
来源:互联网 发布:智慧餐厅系统源码 编辑:程序博客网 时间:2024/05/21 17:00
浮点数在计算机中的储存原理
浮点数的种类
·Double
·Float
Double和Float的区别主要在于精度的不同,Float占用计算机内存的4个Byte,而Double占用计算机内存的8个Byte,这使得两者之间各有千秋。Double比Float更为精确,因为它占用了两倍Float内存,但是也正因为这个原因,Double的运行要比Float慢得多。
浮点数的误差来源
浮点数比如用64位,8个Byte储存一个实数,那么计算机会用1位来表示符号,52位存储尾数,也就是实数小数点前的数,11位存储指数,也就是实数小数点后的数,注意了,计算机是二进制的,因而小数点后的数字要精确的话都必须是2的11次方分之一的倍数,不然的话,计算机会一直去除,当输出精度不够时,看似结果正确,实则这里是计算机自动四舍五入的结果,当你指定计算机输出精度够高时,计算机便会出错。
Example
比如我这里设置一个浮点数Double x,我输入的值时0.45,但是0.45并不是2的十一次方分之一的整数倍,因此计算机只能不断的趋近,而此时我设定输出11位小数,这时候输出的精度没有达到计算机误差的精度,因为输出的值看似正确,实则看左下角变量栏,该输出值实际已经不等于0.45了,这是由二进制原理和浮点数的储存机制决定的。
查阅资料:CSDN论坛
计算机科学概论
阅读全文
0 0
- 浮点数在计算机中的储存原理
- 关于浮点数在计算机中的储存
- 浮点数在计算机内存中的储存方式。
- 浮点数在计算机中的表示
- 浮点数在计算机中的表示
- 浮点数在计算机中的存储
- 浮点数在计算机中的存储方式
- 浮点数在计算机中的表示
- 浮点数在计算机中的表示
- 浮点数在计算机中的表示
- 浮点数在计算机中的表示
- 浮点数在计算机中的编码
- 浮点数在计算机中的表示
- 浮点数在计算机内存中的表示
- 浮点数在计算机中的存储
- 浮点数在计算机中的保存
- 浮点数在计算机中的存储方式
- 浮点数在计算机中的存储形式
- Kali Linux安装中文输入法全纪录
- c++DLL编程详解
- Spring3-依赖注入
- 执行Hive的查询语句报错:java.lang.IllegalArgumentException: Does not contain a valid host:port authority: loca
- 一个32岁入门的70后程序员给我的启示
- 浮点数在计算机中的储存原理
- 传智博客 扫地僧公开课 Linux 内核链表
- laravel artisan常用命令
- 扫雷
- LeetCode刷题(19)
- Java-数据类型
- Android HIDL 官方文档(二)—— 接口与包(Interfaces & Packages)
- 防SQL注入的快捷方法
- mybatis参数处理