C语言咋能同时求商和余数主要是为了减少计算量,比如把数字转成字符,就要先求余(内部应该也是除法,只是
答案:2 悬赏:40 手机版
解决时间 2021-01-30 20:00
- 提问者网友:王者佥
- 2021-01-30 00:47
C语言咋能同时求商和余数主要是为了减少计算量,比如把数字转成字符,就要先求余(内部应该也是除法,只是
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-01-30 01:18
单纯从纯C语言的角度,不可能.唯一可能的就是除数是2的N次方,直接使用位运算.C语言中没有这样的计算方式,而且这个冗余计算,对性能的影响太小了,目前的CPU都是每秒百万运算以上级别的,多一次整除运算,消耗的时间即使是百万级别的数据,也不会多出1秒.如果单纯从优化角度考虑,可以使用内嵌汇编,通过一套整除运算从不同寄存器中取出商和余数,但实际上的消耗,也不是节省了50%,因为多占用了寄存器,并且多了一个传递.这样的方法虽然没有具体试验,但应该节省的非常有限,因为标准整数算法的优化不存在了,可能反而更耗时.从代码量上看,系统提供函数itoa sprintf format等都可以一个语句完全实现数字转换字符串的功能,但实际上,这些函数的实现,也没有对整除取余进行优化.
全部回答
- 1楼网友:孤老序
- 2021-01-30 02:43
我学会了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯