郭天祥的《51单片机 C语言教程》里的定时器中断部分的求模运算的定义是不是错了?
郭天祥的《51单片机C语言教程》里的第3章第5节定时器中断部分,书上说的例子:把num对10求模,就是求出num中有多少个整数倍10,比如60/10=6,(书上的求模符号...
郭天祥的《51单片机 C语言教程》里的第3章第5节定时器中断部分,
书上说的例子:把num对10求模,就是求出num中有多少个整数倍10,比如60/10=6,(书上的求模符号就是‘/’)。
这里的求模应该是求商才对吧?C语言里的求模等价于求余啊,书里的这个求模的定义是哪里来的?有什么依据?
谁能帮帮忙给出这种求模运算的依据 啊?给分!!!!
我想知道这里的求模运算为什么会这么定义,依据在哪里?是不是书错了? 展开
书上说的例子:把num对10求模,就是求出num中有多少个整数倍10,比如60/10=6,(书上的求模符号就是‘/’)。
这里的求模应该是求商才对吧?C语言里的求模等价于求余啊,书里的这个求模的定义是哪里来的?有什么依据?
谁能帮帮忙给出这种求模运算的依据 啊?给分!!!!
我想知道这里的求模运算为什么会这么定义,依据在哪里?是不是书错了? 展开
展开全部
没有错啊。就比如说。num = 555,则对555求模就是 555/100=5 他把余数给舍去了。就只有5了。你对555求余的话就是 555%100 = 55 然后你要再对55求模 55/10 = 5 ,然后你再对55求% 就是5 了。就把 555 分离出来了。
追问
你说的我懂,我不明白的是,为什么对555求模就是 555/100=5,这明明是求商(num为整型变量,求商取整)好吗?我到处都找不到求模的这种运算定义。。。这里的模到底是指什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对十位数求模:a=num/10其中a可以得到num这个十位数十位上的值
同样求余:b=num%10其中b可以得到num个位数上的值
同样求余:b=num%10其中b可以得到num个位数上的值
更多追问追答
追问
为什么求模运算是这么定义的?能不能帮我找到这么算的依据?这里的【模】的定义是什么?‘/’是求商的符号啊,这里的求模应该是求商吧?
追答
就像1+1等于2一样,你不用过于追求过程,知道结果就好,虽然也有过程。
num/10在数学中定义为求商,但在C语言的框架内被定义为求模。
再举个例子:单片机定时器T0初值的一种设定方法
TH0=(65535-10000)/256
TL0=(65535-10000)%256 //TH0和TL0分别为高、低两个8位(256)寄存器,合在一起可以对16位(65535)定时器赋初值,而TH0只能存高8位初值,所以用/256来分离16位数值(超过256的)的高8位,用%256来分离低8位。
学单片机不要直接用数学去套,他们形式一样,但要达到的目的不同。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询