2016-01-04 47 views
0

我想創建一個包含分數的二進制數。像這樣:創建一個二進制分數

0b110.101 

但是,這給出了語法錯誤。

0b110 

雖然工作正常。你如何創建一個不是整數的二進制數?

+0

你不能。二進制數字僅由「1」和「0」組成。 – Cristik

+0

二進制文字只對整數有效,請參閱https://docs.python.org/2/reference/lexical_analysis.html#integer-and-long-integer-literals – jonrsharpe

+0

@Cristik,您絕對可以使用二進制分數。 110.101等於6.625的基數爲10 –

回答

0

How do you create a binary number that is not an integer?

二進制是一個數字的文本表示。字符串用於存儲文本,所以人們會使用類似以下內容:

"110.101" 

但我認爲你說錯了你的問題。你不希望數字的二進制表示,你想要的數字本身。 110.101 代表六和五八。有無限的方法來創建創建這個數字,其中包括:

6 + 5/8 
6.625 

不過,我懷疑你更願意看到在源數字的二進制表示。不幸的是,Python沒有十進制二進制數字文字。你可以使用

0b110101/(1>>3) 
bin_to_num("110.101") 

寫作bin_to_num留給讀者作爲練習。