2010-09-21 16 views
4

我知道這不完全是一個編程問題,但它與我的主題有關。你如何用文字表示不同的數字系統? (通過文本我的意思是能夠以適當的速度鍵入,而不是從另一個程序複製粘貼它。)例如,如果我有一個基數爲2的數字,我如何鍵入它以便其他人可以理解它是基數2的數字。在紙上,您可以執行類似(1001)2的操作,其中2是一個小索引。是否有必須在2之前鍵入某個特定符號以便其他人將其理解爲下標? (Exponentiation使用符號^爲此。)或者它只是隨機的,沒有標準存在嗎?如何在輸入時表示不同的數字系統?

回答

1

我看到的約定是,就像插入符號表示上標(如指數)一樣,下劃線表示下標。因此,將您的示例轉換爲ASCII的最「直接」方法是1001_2。雖然我同意JacobM, 0b前綴是明確的,不可能被誤解。

+0

謝謝。感謝大家。問題更多的是數學符號而不是編程本身。我只是需要一種方式來讓用戶以方便且通常使用的方式輸入不同的數字系統。 – Johnny 2010-09-21 20:13:13

0

我想這很大程度上取決於最終如何/爲什麼/你想對數據做什麼。

對我來說,^是合乎邏輯的使用,因爲它很快輸入,但它可能會被不熟悉的符號解釋不正確。

3

在很多編程語言中的約定是

0b1001 

其中 「B」 表示二進制文件。其他約定包括以十六進制的0x開頭,以八進制開始的僅爲0(後跟其他數字)。

1

對於十六進制,您可以用0x作爲前綴。

0xFF 

二進制,一個0b

0b101 

八進制,一個0o

0o44 

或者,更明確?

dec(123) 
hex(0AF) 
bin(101) 
oct(111) 
0

基本的符號根據編程語言的不同而不同(正如我在this question的評論中所說的)。

  • 十進制表示法往往是默認的(沒有特定的表示法)。
  • 十六進制傾向於與#0x前綴或使用h後綴:0xA0#A0A0h
  • 某些語言使用0前綴來表示八進制符號(例如0777)。
  • 二進制表示法不太常見(通常使用十六進制,因爲它使符號更緊湊,最後使用正確的八位字節填充)。但是,您可以使用0b10101010b。同樣,這取決於語言以及編譯器是否支持它。

以上所有都取決於編程語言。如果只是用文字書寫,這些約定中的任何一個都應該這樣做。當然,如果你正在寫一本書,不要改變你在中間使用的約定......

相關問題