CPU中有符号数除法,余数和商的符号取决于什么?

[title]视频讲解[/title]

 

[title]结论[/title]

先说结论,有符号数的余数取决于被除数的符号位,即:余数的符号位 = 被除数的符号位。

商的符号位取决于被除数符号位 异或除数的符号位(两个符号一致为正,符号不一致为负),即:商的符号位 = 被除数符号位 ^ 除数符号位。

 

[title]商和余数的本质[/title]

参考维基百科除法的词条解释:https://zh.wikipedia.org/wiki/%E9%99%A4%E6%B3%95

 

[title]验证[/title]

由于有符号数的除法,符号一共就只有四种组合可能性,我们通过举例+穷举就可以得出结论。

eg:

10 / 3 = 3 … 1

10 / -3 = -3 … 1

-10 / 3 = -3 …- 1

-10 / -3 = 3 … -1

作者: 高志远

高志远,23岁,男生,毕业于上海杉达学院电子商务系。

发表评论

邮箱地址不会被公开。