社区
C++ 语言
帖子详情
1+10000和10000+1有区别嘛,如果有区别是什么?
yu3350360
2010-06-09 06:21:00
如题
...全文
781
65
打赏
收藏
1+10000和10000+1有区别嘛,如果有区别是什么?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
65 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shihunjiangjie
2010-06-12
打赏
举报
回复
牛人再现[Quote=引用 35 楼 jekhn 的回复:]
引用 30 楼 icansaymyabc 的回复:
哈哈,这是出题者的自作聪明。
直接怀疑出题者想考的是这个知识点:
a=1;
a=a+10000;
经过优化后会编译成 ADD 指令
而
a=10000;
a=a+1;
经过优化后会编译成 INC 指令
在8086时代的破CPU上,INC 指令比 ADD 指令快1倍;可是到了386时代,这两条指令的执行时间已经没有差……
[/Quote]
yu3350360
2010-06-11
打赏
举报
回复
还是结贴吧,貌似讨论也没什么意义了
yu3350360
2010-06-11
打赏
举报
回复
[Quote=引用 58 楼 softman11 的回复:]
引用 33 楼 lei35151 的回复:
28: int m = 1000 + 1 ;
00401688 mov dword ptr [ebp-4],3E9h
29: int n = 1 + 1000 ;
0040168F mov dword ptr [ebp-8],3E9h
反汇编出来的信息,哪位高手能够解释一下
就是完全一样的嘛。
1+1000
还是1000+1
……
[/Quote]
也没搞出题目的意图来
哈哈,学习了呀。。
softman11
2010-06-10
打赏
举报
回复
[Quote=引用 33 楼 lei35151 的回复:]
28: int m = 1000 + 1 ;
00401688 mov dword ptr [ebp-4],3E9h
29: int n = 1 + 1000 ;
0040168F mov dword ptr [ebp-8],3E9h
反汇编出来的信息,哪位高手能够解释一下
[/Quote]
就是完全一样的嘛。
1+1000
还是1000+1
编译器最后都是给你搞成1001的,也就是3E9H
两条指令只是目标单元地址不同,都是一个MOV指令周期的时间。
没有任何区别。
softman11
2010-06-10
打赏
举报
回复
[Quote=引用 54 楼 visualeleven 的回复:]
引用 30 楼 icansaymyabc 的回复:
哈哈,这是出题者的自作聪明。
直接怀疑出题者想考的是这个知识点:
a=1;
a=a+10000;
经过优化后会编译成 ADD 指令
而
a=10000;
a=a+1;
经过优化后会编译成 INC 指令
在8086时代的破CPU上,INC 指令比 ADD 指令快1倍;可是到了386时代,这两条指令的执行时间已经没有差别了……
[/Quote]
是的,如果是变量的话确实是如此。
但是如果是常量的话,编译器肯定是直接给你搞成10001了。
我觉得这个出题的人绝对是个半罐水。
赵4老师
2010-06-10
打赏
举报
回复
1+10000 means big gain
先挣1元后挣10000元意味着大有收获
10000+1 means I don't care
先挣10000元后挣1元意味着我不在乎
softman11
2010-06-10
打赏
举报
回复
[Quote=引用 27 楼 wuweiyin 的回复:]
一般的编译环境应该都是从右向左进行的.
计算机运算过程如下:
取值到寄存器->取第二个值到寄存器并与第一个值进行位运算->给出结果
所以我觉得就是寄存器中位运算效率的差异.
10000+1//寄存器中存的是1,再将10000加上,每一个位都要计算到.
1+10000//寄存器中存的是10000,再将1加上,可能只要计算最后一个位即可.效率较高
[/Quote]
这个解释不通。
都是二进制,怎么可能位数不同。
1在寄存器里面如果8位的话,也是00000001啊。
一样是八位。
加法器计算的时候可都是两个输入数直接翻转的,不会还会去判断你有几个0,几个1。
Eleven
2010-06-10
打赏
举报
回复
[Quote=引用 30 楼 icansaymyabc 的回复:]
哈哈,这是出题者的自作聪明。
直接怀疑出题者想考的是这个知识点:
a=1;
a=a+10000;
经过优化后会编译成 ADD 指令
而
a=10000;
a=a+1;
经过优化后会编译成 INC 指令
在8086时代的破CPU上,INC 指令比 ADD 指令快1倍;可是到了386时代,这两条指令的执行时间已经没有差别了。
可见这个出题者不仅自作聪明,还愚昧、……
[/Quote]
NX
ffllaagg
2010-06-10
打赏
举报
回复
有点想不明白、
comrdliyang
2010-06-10
打赏
举报
回复
不懂!!!
Yizhoujimoqitian
2010-06-10
打赏
举报
回复
[Quote=引用 30 楼 icansaymyabc 的回复:]
哈哈,这是出题者的自作聪明。
直接怀疑出题者想考的是这个知识点:
a=1;
a=a+10000;
经过优化后会编译成 ADD 指令
而
a=10000;
a=a+1;
经过优化后会编译成 INC 指令
在8086时代的破CPU上,INC 指令比 ADD 指令快1倍;可是到了386时代,这两条指令的执行时间已经没有差别了。
可见这个出题者不仅自作聪明,还愚昧、……
[/Quote]
NB啊............
dream17953
2010-06-10
打赏
举报
回复
不明白,可能在串行加法器中有区别。
董小尾
2010-06-10
打赏
举报
回复
[Quote=引用 30 楼 icansaymyabc 的回复:]
哈哈,这是出题者的自作聪明。
直接怀疑出题者想考的是这个知识点:
a=1;
a=a+10000;
经过优化后会编译成 ADD 指令
而
a=10000;
a=a+1;
经过优化后会编译成 INC 指令
在8086时代的破CPU上,INC 指令比 ADD 指令快1倍;可是到了386时代,这两条指令的执行时间已经没有差别了。
可见这个出题者不仅自作聪明,还愚昧、……
[/Quote]
--!~ 高手
cymlife
2010-06-10
打赏
举报
回复
问君能有几多愁,恰似一江春水向东流
Xiaoloveliuforever
2010-06-10
打赏
举报
回复
记得以前看到有位“砖家”分析邮箱地位为什么都是
XXXXXXX
@
XXX.XXX 也就是为什么要用
@
分析了好大一篇
结果后来采访邮件的创始人
他说:“就觉得@这个符号看着顺眼。”
铁匠梁
2010-06-10
打赏
举报
回复
结果一样,重要的结果。
saiweng198
2010-06-10
打赏
举报
回复
本来1块钱工资,10000块钱奖金
本来10000块钱工资,1块钱奖金
那个爽??????
崇山峻岭_
2010-06-10
打赏
举报
回复
有区别吗?
void main( void )
{
int a = 0;
a = 10000 + 1;
a = 1 + 10000;
}
17: void main( void )
18: {
00401800 push ebp
00401801 mov ebp,esp
00401803 sub esp,44h
00401806 push ebx
00401807 push esi
00401808 push edi
00401809 lea edi,[ebp-44h]
0040180C mov ecx,11h
00401811 mov eax,0CCCCCCCCh
00401816 rep stos dword ptr [edi]
19: int a = 0;
00401818 mov dword ptr [ebp-4],0
20: a = 10000 + 1;
0040181F mov dword ptr [ebp-4],2711h
21: a = 1 + 10000;
00401826 mov dword ptr [ebp-4],2711h
22: }
x396448534
2010-06-10
打赏
举报
回复
[Quote=引用 58 楼 softman11 的回复:]
引用 33 楼 lei35151 的回复:
28: int m = 1000 + 1 ;
00401688 mov dword ptr [ebp-4],3E9h
29: int n = 1 + 1000 ;
0040168F mov dword ptr [ebp-8],3E9h
反汇编出来的信息,哪位高手能够解释一下
就是完全一样的嘛。
1+1000
还是1000+1
……
[/Quote]
NX
kkmqj
2010-06-10
打赏
举报
回复
58楼正解。
加载更多回复(43)
HBB 无后台推送 9.1-0(HBB-9.1.0)
推送/后台相关增强方向插件,常见用于改善部分场景下的通知接收体验(受系统与网络环境影响较大)。插件来源于网络仅供测试使用,严禁任何非法用途,测试请于1小时内删除。
青鸟消防293K接口卡232和485转换
青鸟消防293K接口卡232和485转换
基于注意力机制的目标检测模型优化:GAM、CBAM、CA、ECA在YOLOV12中的集成与性能分析
内容概要:本文系统讲解了目标检测中主流的注意力机制模块(GAM、CBAM、CA、ECA),深入剖析其原理与核心代码实现,并指导如何将这些模块融入YOLOV12模型以提升检测性能。文章从注意力机制的基本思想出发,逐一对各模块进行原理拆解和代码解析,突出其在通道与空间维度上的特征增强策略,随后介绍在YOLOV12中集成注意力机制的具体方法,并通过性能对比帮助读者选择适合应用场景的模块。最后拓展至科研创新方向,鼓励对现有模块进行改进与组合,探索在特定任务中的优化潜力。; 使用场景及目标:①理解GAM、CBAM、CA、ECA等注意力机制的设计思想与实现细节;②掌握将注意力模块集成到YOLOV12等目标检测模型的技术路径;③为科研创新提供思路,如模块融合、结构改进与场景适配; 阅读建议:建议结合提供的代码链接与YOLOV12源码同步实践,在复现过程中调试注意力模块的插入位置与参数设置,深入理解其对模型性能的影响,从而支撑后续的自主设计与创新。
HRMS前端框架-下载即用.zip
先看效果: https://pan.quark.cn/s/9df2a445ba29 创建 React 应用程序的入门过程是采用引导式设计的。 通过在项目目录内使用脚本,用户能够执行:npm start 命令以在开发环境中启动应用程序。 接着,可以在浏览器窗口中检视应用界面。 倘若对代码进行修改,页面将自动进行刷新。 同时,任何潜在的 lint 错误都会在控制台日志中呈现。 执行npm test 指令,可在交互式监控状态下激活测试运行器。 更详尽的信息请参考指定章节。 使用npm run build 命令,可将应用程序构建至build目录,此过程会在生产模式下正确打包 React 组件,并对构建产物进行优化以实现最佳运行效能。 生成的文件将经过压缩处理,且文件名会包含版本哈希值。 至此,应用程序已具备部署条件! 具体细节请参阅相关章节。 执行npm run eject 操作时需特别留意:这是一个不可逆的单向过程。 一旦执行eject,将无法复原至原始状态! 倘若对构建工具及配置选项不满意,用户可选择执行此命令。 该指令将移除项目中的构建依赖项,取而代之的是提供所有配置文件及可执行文件。
基于ODConv动态卷积的YOLOv8改进:复杂场景下高精度目标检测特征提取方法
内容概要:本文详细介绍如何通过引入ODConv(全维度动态卷积)对YOLOv8进行科研级改进,提升其在复杂场景下的特征提取能力与检测精度。文章从ODConv的原理出发,解析其相比传统静态卷积在通道、空间和卷积核三个维度上的动态注意力机制,实现卷积权重的自适应调整,从而增强模型泛化性和特征表达能力。随后提供了完整的代码实现,包括ODConv模块的构建、在YOLOv8中的集成步骤(文件创建、模块导入、结构替换、YAML配置更新),以及训练脚本编写和实验结果评估方法。最后提出多个可拓展的研究方向,如专家数调优、行业定制化应用和多任务融合。; 使用场景及目标:①解决YOLOv8在复杂光照、形变目标等场景下特征提取不足的问题;②实现高精度目标检测模型的科研创新与论文成果产出;③掌握动态卷积技术并应用于其他网络架构的性能优化; 阅读建议:建议结合提供的飞书链接中的完整代码与流程文档,边实践边学习,重点理解动态注意力机制的设计思想,并在自有数据集上验证ODConv的实际增益效果。
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章