使用百分号(%)表示模数/余数是使用哪种编程语言生成的?


16

使用百分号(%)表示模数/余数是使用哪种编程语言生成的?

一篇文章1解释了选择%符号的原因,因为它包含一个斜线,对于与除法相关的运算很巧妙。它还提到了C使用符号的影响。但是,我不确定它起源于C。B编程语言是C的前身,我发现B用户指南(PDF,第12页)指出:

运算符%表示模。如果两个操作数均为正,则结果正确。否则未定义。

该用户指南的日期为1972年,大约是C出现的时间。从理论上讲,这仍然可能起源于C,但是后来又移植到B。在表示使用%符号之前,我还无法找到其他语言的规范。


  1. 我认为对这个问题不是重复的:有人问为什么取模运算是基本的,我问的是该符号何时特别是表示取模。

3
BCPL是B和C的前身。BCP中的模算子为remeah-jena.de/~kleine/history/languages/…类似地,Algol-W也使用了rem
BobDalgleish

Answers:


10

我能找到的最早的参考是从“B”由Ken Thompson与丹尼斯里奇1969年左右开发的编程语言 B参考

因为这是BPCL的实现/改进,所以我必须假定操作员是BPCL的一部分,但是我找不到为此的具体参考。


4
显然,这是BPCL中的“ rem”(请参见BobDalgleish的评论)
James Anderson

根据该链接,如果不是第一次实施,则不可能是1969年。霍尼韦尔直到1970年才购买了GE Computer Division,该文件肯定引用了H6070计算机。Ritchie和Thompson在60年代的multicians.org/unix.html中从事MAC项目。
dbasnett

另一个Multics BCPL参考。 multicians.org/mgb.html#BCPL
dbasnett
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.