社区
C++ 语言
帖子详情
c++中怎样优化除法
变成熊猫你就老实了是不
2006-12-18 04:47:02
不想用“/”做除法,有没有比它更节省资源的除法函数,我现在只有利用移位方法支持int的除法的,有没有支持double类型的除法函数?
...全文
1045
13
打赏
收藏
c++中怎样优化除法
不想用“/”做除法,有没有比它更节省资源的除法函数,我现在只有利用移位方法支持int的除法的,有没有支持double类型的除法函数?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2006-12-19
打赏
举报
回复
如果你的对精度要求不高,用整数运算代替。如果对精度有要求,你的优化怎么也赶不上编译器的优化能力。
Jedimaster
2006-12-19
打赏
举报
回复
嵌入ASM代码SSE优化
axx1611
2006-12-18
打赏
举报
回复
开玩笑吧~~ 你再怎么写也没FPU的速度快~~
省省吧
glsensor
2006-12-18
打赏
举报
回复
所有的优化都是有针对性的,没有万能的优化(指变量除法,常量除法你自己先算好再乘不就得了),不然cpu的除法指令早就被摘除了。
runrunrun
2006-12-18
打赏
举报
回复
double也支持移位的除法吧。只要把阶码值改一下就行了
FantasyNES
2006-12-18
打赏
举报
回复
除法太慢了。既然可以轉化成乘法和移位爲啥不用呢?
zenny_chen
2006-12-18
打赏
举报
回复
现在PC的CPU上有除法器,执行起来非常快。
在Analog Device公司的Blackfin DSP处理器上虽然没有除法器,但也只需16个指令周期。
所以只要不要使用过度还不太会影响效率。
这里提供一个仅执行一次除法就能同时得到商和余数的宏,可用于i386及其兼容机,VC++环境下可进行编译。
#include <iostream>
using namespace std;
// dividend, divisor, quotient and remainder should be replaced with variables
//instead of constant number
#define GET_DIV_AND_MOD(dividend, divisor, quotient, remainder)\
__asm{\
__asm push eax\
__asm push edx\
__asm mov eax, dword ptr[dividend]\
__asm cdq\
__asm idiv dword ptr[divisor]\
__asm mov dword ptr[quotient], eax\
__asm mov dword ptr[remainder], edx\
__asm pop edx\
__asm pop eax\
}
void main(void)
{
int a = 9, b = 4;
int quo=0, rem=0;
GET_DIV_AND_MOD(a, b, quo, rem);
cout << "The quo is: " << quo << ", and the rem is: " << rem << endl;
}
roydux
2006-12-18
打赏
举报
回复
牛b人.....
俺记得cpu的除法是建立在加法的基础上的...cpu只支持加法,然后再去衍生减法,乘法,除法.
你不用除法,自己写个cpu指令?
FantasyNES
2006-12-18
打赏
举报
回复
一般來説,浮點數都是可以轉化成整型運算的。
比如乘以0.3,可以這樣做:
x * 0.3 = x * 0.3 * 1024 / 1024 = (x * 307) >> 10
當然這個只是例子,在實際算得時候可以找適當的倍數擴大。
missilery
2006-12-18
打赏
举报
回复
帮你顶一下
浮点数还不知道怎么用二进制表示
OOPhaisky
2006-12-18
打赏
举报
回复
我现在只有利用移位方法支持int的除法的,有没有支持double类型的除法函数?
-------------------------------------------------------------------------------------
我也知道利用移位的方法来支持除法,但是对于浮点类型而言,我不清楚是否有类似的方法,不过个人认为,浮点类型的存储方式更加复杂,所以类似的方法存在的可能性很小,不过这仅仅是个人猜测而已,等待高手给出答案。。。
珍惜生命远离CPP
2006-12-18
打赏
举报
回复
支持double类型的除法函数?
cpu本身的除法指令速度都不快
你还想怎么优化?
DonaldKnuth
2006-12-18
打赏
举报
回复
嵌入汇编
2026产品管理系统测评:从需求到AI的六维能力模型与选型避坑指南
在数字化转型加速的今天,产品管理系统已从需求记录工具演变为覆盖AI协作、路线图规划与数据洞察的全栈平台。理解其核心概念与工作原理,是技术团队提升研发效能的关键。一套科学的测评方法,不仅关注功能清单,更需从需求全生命周期、优先级决策、AI原生能力、跨部门协作、报表导出与生态集成等维度建立能力模型。真实场景下的压力测试,如数据迁移、权限链路与AI批处理,往往比官网演示更能暴露系统短板。对于
中
大型研发团队,选型需权衡团队习惯
中
断成本与两年总拥有成本,并通过可复现的POC流程验证。本文基于七款主流产品的背靠背实测,
六款产品管理系统实测:2026年PMS选型指南
项目管理工具是现代研发团队协作的
中
枢,其核心在于将需求、迭代、缺陷与知识沉淀统一到一套可追踪的流程
中
。一套优秀的产品管理系统(PMS)应具备灵活的工作流配置、完整的数据度量以及开放的生态集成,从而支撑不同规模和阶段的团队高效运作。随着选型需求日益精细化,从初创团队到成熟组织,都需要结合自身管理颗粒度与协作习惯评估工具适配性。基于对Jira、PingCode、Worktile、TAPD、禅道、ONES六款主流产品的真实走查,从需求管理、迭代执行、研发质量等维度展开对比,为团队提供可落地的选型参考。
2026产品管理系统选型指南:能力模型评分与踩坑记录
在数字化产品迭代加速的今天,产品管理系统已从需求记录工具进化为团队协同与决策的底座。面对几十款功能相似的工具,选型不能凭感觉拍板,而应基于可量化的能力模型进行科学评分。本文从需求管理、迭代协同、AI应用等基础概念出发,介绍了一套覆盖九大评估域、支持权重分配与交叉复核的打分方法,并结合四款主流工具的POC实测数据,分析了私有化部署、权限设计、数据迁移等关键环节的注意事项。通过真实踩坑案例,帮助团队避开演示效应与隐形成本陷阱,实现从需求梳理到平稳上线的完整选型落地。
2026产品管理系统选型指南:能力模型评分框架与避坑实战
在企业数字化研发流程
中
,产品管理系统(PMS)所覆盖的范畴,既包含需求采集与优先级排序,也涉及路线图、项目交付与数据分析——它本质上是产品与研发之间的枢纽系统。要把这类系统的能力评估落到实处,可以从需求管理、路线图目标关联、项目交付闭环、数据度量报表、集成开放度、易用性与商务成本七个维度建立加权评分模型,其
中
需求管理权重最高,因为它决定了团队“做什么”的质量,而非仅仅“怎么干”。值得关注的分水岭在于数据度量能力:内置需求吞吐量、前置时间、版本交付率等指标,让流程问题能通过数据被看见;同时,AI辅助需求结构化
2026产品管理系统测评:从评分模型到选型避坑全解析
在数字化研发协同不断深化的今天,产品管理系统已成为连接产品经理与研发团队的关键纽带。它不同于单纯的项目管理工具,更聚焦于从需求收集、版本规划到数据度量的完整生命周期,帮助团队回答“做的东西是不是对的产品”这一核心命题。面对功能不断升级、场景持续细分的市场,如何建立一套可复用的选型方法论?关键在于构建包含功能覆盖度、易用性、集成生态、服务实施与成本模型在内的五维评分模型,并通过POC真实场景验证需求闭环能力。无论是几十人的成长型团队,还是规范化要求高的成熟组织,都可以借助科学对比与避坑清单规避历史数据迁移、权
C++ 语言
65,214
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章