2014-03-30 46 views
0

我們可以使用scanf輸入十進制,八進制和十六進制數字。我們可以使用printf輸出十進制,八進制,十六進制。爲什麼不使用二進制數?爲什麼被排除在外?爲什麼C中不允許直接輸入/輸出二進制輸入/輸出?

+2

基數6和基數51被排除在外的原因相同嗎? –

+1

這不關乎「不允許」;你可以自己編碼。這是關於「這是否會對足夠多的人證明其被納入圖書館有很大的幫助」......這個例子的答案是「否」。 – keshlam

+0

重複? [爲什麼C沒有二進制文字?](http://stackoverflow.com/questions/18244726/why-doesnt-c-have-binary-literals) – deepmax

回答

4

因爲任何有能力的程序員都可以很容易地輸出二進制數字並輸入自己,所以它太冗長了,十六進制對於標誌和簡單的轉換來說同樣適用。

+1

這是僅僅是支持論據的原因。肉是冗長的,功能蠕變,並已包括人類可以很容易地轉換的格式。順便說一句:許多人認爲,包括八進制是一個嚴重的錯誤。它很少被意圖使用。 – Deduplicator

+0

確信在新生C的日子裏,八進制的使用比十六進制的更大。十六進制是塊上的新孩子,是成功蠕變的一部分。我同意八進制在今天使用有限。 – chux