乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 114|回复: 6

与float,int,double的区别

[复制链接]

129

主题

422

帖子

5

银币

中流砥柱

Rank: 25

铜币
936
发表于 2019-7-12 23:23:31 | 显示全部楼层 |阅读模式
对于大多数应用程序来说,使用浮点、整数、双精度等与计算机的能力在速度上是否有很大差异?我想,要注意到这一点,就必须有人开发一些令人难以置信的程序。我错了吗?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

85

主题

404

帖子

7

银币

中流砥柱

Rank: 25

铜币
751
发表于 2019-7-13 00:58:41 | 显示全部楼层
我对性能也很好奇。
但实际上,从与CAD的接口角度来看,最好只是为CAD提供它所期望的类型。
回复

使用道具 举报

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2019-7-13 01:23:40 | 显示全部楼层

https://lmgtfy.com/?q =速度%20差异% 20浮动% 20 int % 2C % 20 double % 2C % 20 decimal % 20 in % 20C % 23 & s = g
回复

使用道具 举报

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2019-7-13 02:00:37 | 显示全部楼层
...这可能足以让你的眼睛充血。
http://nicolas.limare.net/pro/notes/2014/12/12_arit_speed/
回复

使用道具 举报

16

主题

506

帖子

6

银币

中流砥柱

Rank: 25

铜币
570
发表于 2019-7-15 04:20:23 | 显示全部楼层
你在看什么尺度?几百到几千,用户可能看不出有什么不同。从几十万到几百万,更大的值类型将开始显示差异。不过,过于自满是个坏主意。没有必要处处都进行优化,但是有意识地做总体上更好、更有效的代码。
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2019-7-15 18:55:37 | 显示全部楼层

我不知道C#编译器在多大程度上优化了类变量的内存,但在C/C++中,将变量“字节对齐”以使其更易于在32/64位块中访问可能很重要,但这可能不如如何构造例程和大容量数据重要(缓存未命中可能会对cpu性能造成~200倍的速度影响!)。也就是说,在检索下一批代码和数据之前,更有效的方法是获取函数和变量并希望它们适合缓存(比如L1/L2),然后尽可能多地运行它们
因此,如果您正在为嵌入式系统或VR/游戏/动画编写代码,这一点很重要
鉴于此,除非您试图以每秒60帧的速度执行gig计算,否则就不值得担心,即使使用双精度浮点运算速度较慢,我们所说的是每次例程运行的毫秒“差”。如果这真的很重要,那么我就不会使用任何解释过的语言或运行在虚拟机上的语言,比如C#。
hth
回复

使用道具 举报

57

主题

559

帖子

13

银币

中流砥柱

Rank: 25

铜币
786
发表于 2019-7-16 06:32:48 | 显示全部楼层
是的,如果您使用SIMD,它们可以产生巨大的影响。NET
SSE2 XMM寄存器:
四个32位单精度浮点数
两个64位双精度浮点数或
两个64位整数或
四个32位整数或
八个16位短整数或
十六个8位字节或字符。
否则可能不会,只需使用您需要的类型
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 05:53 , Processed in 0.327886 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表