2015-05-19 78 views
0

我是一位使用高級語言的開發人員。我通常把低層細節視爲理所當然。編碼號碼

我讀了諸如ASCII和Unicode之類的標準是用於字符編碼的。一個角色必須被存儲爲一個數字。數字是否一樣?例如,如果我聲明這樣在.NET的變量:根據this table 49:

dim test as integer=5 

在這種情況下測試的值(5)將被表示爲十進制。那是對的嗎?

+1

編號它將存儲爲00000000000000000000000000000101。計算機以2個手指計數,基數10億年前是一場隨機事故。 –

回答

0

如果您的代碼是Dim test As String = "5",則會使用字符「5」的Unicode編碼存儲該值。但是,整數(和其他數字類型)不是字符串,並且不以這種方式編碼,它們使用它們的數值在內部表示。整數存儲爲32位值。

+0

謝謝。對字符串數據的引用很有意義。我猜數據類型也是編碼的。 – w0051977

+0

@ w0051977:我看待它的方式是每個數據類型都有自己的表示方式。在.Net框架中,字符和字符串由Unicode編碼表示(有許多方法可以轉換爲不同的編碼,但Unicode是內部使用的)。整型數據類型存儲爲32位數字(表示負數有一個特殊規則)。浮點和十進制類型有自己的表示形式等等。大多數時候編程時只需要知道如何使用不同的數據類型。 – Blackwood

0

你問的是內存中的數據表示。表示整數的方式取決於它們是有符號還是無符號。如果它們被簽名(通常情況下,除非指定類型爲無符號整數或等價物),它們以二進制補碼形式表示:http://en.wikipedia.org/wiki/Two%27s_complement