社区
基础编程
帖子详情
浮点和定点运算的一个问题
回南山种豆
2011-11-21 05:14:33
今天看了一本书,看了了2个问题
1 mysql中 浮点比定点运算快(之前我一直理解是相反的)
2在mysql 5.0及以上版本中,服务器自身进行了定点运算,因为CPU并不支持它进行直接计算(前面是原文引用书本)浮点运算会快一点,就体现在他说的这一点,因为浮点直接在CPU上进行。
请各位大侠确认这是正确的吗?
...全文
223
15
打赏
收藏
浮点和定点运算的一个问题
今天看了一本书,看了了2个问题 1 mysql中 浮点比定点运算快(之前我一直理解是相反的) 2在mysql 5.0及以上版本中,服务器自身进行了定点运算,因为CPU并不支持它进行直接计算(前面是原文引用书本)浮点运算会快一点,就体现在他说的这一点,因为浮点直接在CPU上进行。 请各位大侠确认这是正确的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
回南山种豆
2011-11-29
打赏
举报
回复
谢谢你了
回南山种豆
2011-11-29
打赏
举报
回复
[Quote=引用 13 楼 xuzuning 的回复:]
如果所谓的“定点”是 decimal 类型的数的话,你书中的解释是正确的
浮点数 float 是以二进制方式保存的,计算时计算机将通过浮点运算协处理器进行计算
而 mysql 的 decimal 类型数据是以字符串方式存储的,计算时需先将字符串转换成“数”,仅就这一点,已经就比浮点运算慢了。况且为保证计算精度,计算时是整数部分和小数部分分开的。这就又慢了一些
[/Quote]
感觉 你这个理解是正确的。
helloyou0
2011-11-25
打赏
举报
回复
嗯,应该是我把你的话理解错了
helloyou0
2011-11-25
打赏
举报
回复
终于想起来翻到了:
我的书上是写的"Decimal":
大致如下:
2在mysql 5.0及以上版本中,服务器自身进行了"Decimal"运算,因为CPU并不支持它进行直接计算
如果你的书上写的是"定点", 那就是翻译错了
xuzuning
2011-11-25
打赏
举报
回复
如果所谓的“定点”是 decimal 类型的数的话,你书中的解释是正确的
浮点数 float 是以二进制方式保存的,计算时计算机将通过浮点运算协处理器进行计算
而 mysql 的 decimal 类型数据是以字符串方式存储的,计算时需先将字符串转换成“数”,仅就这一点,已经就比浮点运算慢了。况且为保证计算精度,计算时是整数部分和小数部分分开的。这就又慢了一些
helloyou0
2011-11-25
打赏
举报
回复
一开始以为你说的"定点"是指整数.
又看了一下手册,应该是这样的,decimal翻译成定点也也以,因为的确是"定点小数"
但是我们以前学计算机原理时将的定点数,和mysql里的这个decimal不一样,
以前学的那个定点数就是整数或纯小数(小数点在最左),其它的定点小数可以转换成这两种.
但是mysql的decimal无法做这个转换,
原因是因为decimal的表示范围太大,它的位数可以到65位,这个远远超过了64位机(更不要说32位)能表示的整数范围,所以必须用软件方法实现精确计算
复习了半天计算机原理,有兴趣的一起复习吧:
http://218.5.241.24:8018/C35/Course/ZCYL-HB/WLKJ/jy/Chap02/2.1.1.1.htm
http://online.ncu.edu.cn/eol/homepage/common/opencourse/onlinepreview.jsp?countadd=1&lid=5272&resid=121906717
happypiggy2010
2011-11-25
打赏
举报
回复
现在的机器速度,应该这个差别不是很大的。
helloyou0
2011-11-23
打赏
举报
回复
[Quote=引用 3 楼 z1988316 的回复:]
引用 1 楼 helloyou0 的回复:
能否提供点上下文和出处?
觉得不对
上下文有点多,不好列出来,具体出处是高性能mysql 65页
[/Quote]
说下在那一章节,万一我手头的和你不是一个版本呢,
回去翻翻
回南山种豆
2011-11-22
打赏
举报
回复
[Quote=引用 4 楼 heyli 的回复:]
惭愧 我也有这本书 看过不止一遍 不过远没楼主来得仔细
按照书上说的 浮点直接在CPU上进行 而DECIMAL是在服务器上进行 应该可以理解为是要mysql自身处理 在内部可能转为 double 所以应该有可能
等大牛解释
[/Quote]
应该可以理解为是要mysql自身处理
mysql 最终还是在CPU上运算的啊
回南山种豆
2011-11-22
打赏
举报
回复
[Quote=引用 4 楼 heyli 的回复:]
惭愧 我也有这本书 看过不止一遍 不过远没楼主来得仔细
按照书上说的 浮点直接在CPU上进行 而DECIMAL是在服务器上进行 应该可以理解为是要mysql自身处理 在内部可能转为 double 所以应该有可能
等大牛解释
[/Quote]
感觉这本书翻译太烂了,唉
heyli
2011-11-22
打赏
举报
回复
惭愧 我也有这本书 看过不止一遍 不过远没楼主来得仔细
按照书上说的 浮点直接在CPU上进行 而DECIMAL是在服务器上进行 应该可以理解为是要mysql自身处理 在内部可能转为 double 所以应该有可能
等大牛解释
回南山种豆
2011-11-22
打赏
举报
回复
[Quote=引用 1 楼 helloyou0 的回复:]
能否提供点上下文和出处?
觉得不对
[/Quote]
上下文有点多,不好列出来,具体出处是高性能mysql 65页
回南山种豆
2011-11-22
打赏
举报
回复
[Quote=引用 1 楼 helloyou0 的回复:]
能否提供点上下文和出处?
觉得不对
[/Quote]上下文有点对,具体出处是高性能mysql 65页
helloyou0
2011-11-22
打赏
举报
回复
能否提供点上下文和出处?
觉得不对
定点
浮点
神经网络 量化_
浮点
数和
定点
数的相互转换
本文介绍了
浮点
数与
定点
数的概念,包括
浮点
数的IEEE 754标准和
定点
数的表示法。讨论了为何要将
浮点
数转换为
定点
数,主要是为了节省空间和提高
运算
效率,以及转换的方法。还提到了转换过程中的精度损失和溢出
问题
,并提供了
一个
在线转换工具供参考。
从网上
一个
程序(
浮点
运算
转
定点
运算
)学到的知识
本文介绍了将32位
浮点
数转换为32位整数的
定点
运算
过程,通过
一个
具体的C语言函数展示了转换方法。在测试过程中发现原函数存在参数传递
问题
,修复后进行了效率比较,发现在不同编译优化条件下,优化后的代码段和直接类型转换在执行效率上有不同表现,提供了
一个
在特定场景下考虑优化的思路。
java
浮点
数误差_Java
浮点
数float和double精确计算的精度误差
问题
总结
本文详细介绍了Java中float和double类型的精度误差
问题
,以及如何使用BigDecimal进行精确计算。通过多个案例分析了
浮点
数在整数、小数计算时可能出现的误差,探讨了
浮点
数和
定点
数的区别。此外,还提供了BigDecimal的构造方法选择建议,以及
一个
简化BigDecimal
运算
的工具类Arith,包含加减乘除和四舍五入的方法。
如何用计算机表达无理数,
浮点
数在计算机中是如何表示的?
本文介绍了实数的概念,包括有理数和无理数,并详细阐述了
定点
数和
浮点
数在计算机中的表示方式。重点讨论了
浮点
数的表示,如二进制科学记数法,并通过
一个
例子解释了计算机如何存储
浮点
数。此外,还提到了
浮点
数精度
问题
,例如0.2和0.4在计算机中相加不等于0.6的情况,揭示了
浮点
运算
的不精确性。
浮点
数和
定点
数的相互转换(
浮点
数量化为
定点
)
本文探讨了
浮点
数和
定点
数的表示方法,详细解释了IEEE754标准下
浮点
数的构成,以及如何在两者间进行转换。在神经网络应用中,将
浮点
数转换为
定点
数能有效提升
运算
效率,但需注意精度损失和溢出
问题
。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章