在阅读了一系列手册页并通过谷歌搜索后,我决定将这个问题发布给堆栈溢出的聪明人。
我正在开发一个基本的 Unix Shell,其中一个要求是我必须实现一个命令以以 10 ASCII 为基数来回显 shell 的 pid ......在我阅读这个要求之前,我假设进程 id 已经是基本的10 个数字。有没有人知道这是不是真的?
从技术上讲,返回的数字是以getpid()
二为底的。:-)
严肃地说,这个要求可能只是意味着数字应该显示为十进制数字,而不是十六进制数字。不过,我会要求澄清该要求,因为您必须提出要求。
数字本身没有基数。它们只是代表一个值。如果您有 17只山羊独角兽,那么无论您选择将其写在什么基础上,您仍然拥有相同数量的独角兽。
一旦您决定使用人类可读的表示来打印一个值,那么您必须选择一个基数。您的要求是用户希望看到以 10 为基数的 PID。
当然,它们 [由系统实用程序以 10 为基数打印]。