求模运算与加法运算cpu耗时比较

前几天C语言课编程 要求是连续输出100个偶数数每隔5个数字打一回车我编程的是(截取部分)for(i=1;i<101;i++){ printf(" %d",i*2);if(i%5==0) printf("尀n");}差不多就是这么个东西 当时验证也没错 但是那个C语言老湿说这样写速度慢 因为采用求模%他写的定义2个变量 但是没用求模int x=10;for(i=1;i<101;++i){ printf(" %d",i*2);if(i==x){printf("尀n");x+=10;}}大概就是这样 当时没有把代码复制 我凭记忆打的(貌似好像还多定义个变量 忘了)问下 加法比求模快多少?另外 那个老湿说i++的速度比++i的速度慢 这是为什么
2026年09月21日 00:20
有3个网友回答
网友(1):

求模运算用到了除法,如果你是计算机科学与技术专业的,等你学过计算机组成原理这门课之后你就会明白了。你问的问题可以看成为什么乘除法没有加法快,这个问题涉及到cpu的结构及cpu计算乘除法和加法的问题,一两句话说不清楚,等你学完那门课你就应该能明白了。 一般在分析代码的时间复杂度的时候做一次加法所用时间相对于乘除法来说几乎可以说忽略不计。
以现在cpu的速度来说你老师说的那个问题已经可以忽略不计了,估计你老师肯定年纪很大,现在很老的人他们学编程那会都考虑尽量节省时间。

网友(2):

求模运算用到了除法,如果你是计算机科学与技术专业的,等你学过计算机组成原理这门课之后你就会明白了。你问的问题可以看成为什么乘除法没有加法快,这个问题涉及到cpu的结构及cpu计算乘除法和加法的问题,一两句话说不清楚,等你学完那门课你就应该能明白了。 一般在分析代码的时间复杂度的时候做一次加法所用时间相对于乘除法来说几乎可以说忽略不计。

网友(3):

一个是数字电路,一个是模拟电路
数字相对慢,模拟相对快,
数字电路(CPU)应用灵活,模拟电路单一。
数字电路抗干扰能力相对弱,也会干扰别人,模拟电路要好的多。
数字电路受温度、湿度等影响小,模拟的大;
数字电路要将模拟量转换成数字量,可能还要转换回来,模拟不需要;
一般已经不用晶体管,而用运算放大器。
CPU可以实现很多种运算功能,加法是最基础的运算功能。