考虑整数除法
a = bq + r
其中a,b,q,r分别为:被除数,除数,商和余数。特别是当b=0时,对于给定的a,不存在满足方程的唯一q,因此在这种情况下商q应该是未定义的。
然而,在这种情况下,确实存在唯一的r,即r= a。在商和余数总是一起定义的前提下,每当q未定义时,就会得出r不定义,但在编程中,我们经常希望使用余数运算%而不考虑除法/。我实际上遇到了一个我想要if b == 0 then a else a % b end的情况。
在任何编程语言中,是否存在与%相同的运算符,但在除数为0时返回被除数而不是零除错误?
大多数(或所有)编程语言为% 0返回零除错误有什么原因吗
我是编程新手,只是一个关于异步编程实际工作原理的问题。我们知道中断是由于来自处理器外部的I/O设备的信号而异步发生的。当处理程序返回时,它将控制返回到下一条指令。所以它需要硬件支持。(一个分配给I/O的专用引脚)那么,没有硬件支持,异步编程如何工作,操作系统如何向当前进程发送“‘Hi the result is ready,come and get it”的“通知”。据我所知,没有硬件支持,我们只能通过多线程或多进程来实现。