2014-10-31 79 views
2

我的問題非常簡單而且微不足道,但我還沒有找到明確的答案。C數組中最低有效字節的位置

如果是C陣列char a[2],其中是至少顯著字節a[0]a[1]

在其他字

,低級地址或更高地址?

+1

http://en.wikipedia.org/wiki/Endianness – Nit 2014-10-31 17:16:56

+0

這是系統相關的。例如,請參見[這裏](http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html) – 2014-10-31 17:17:01

+7

它不完全依賴於...它是用戶定義的。 – indiv 2014-10-31 17:17:35

回答

2

這取決於用法,所以基本上你可以定義它。

例如,如果您使用char a[2]包含2位二進制數(00一個,01,10,11),你可以定義你的LSB位在右側,即在a[1],所以號碼01將由字符串「01」表示(a[0] = 0,a[1] = 1)。這種選擇在很多情況下似乎很自然。

但是,您可以通過相反的定義確定您的需求更適合,並且您將定義您的LSB位在左側,在這種情況下,數字01將由字符串「10」表示, 。

5

「重要性」的概念只有在被談論的單元(例如位或字節)參與代表由多於一個這樣的單元組成的值的時纔有意義。正如在個人的評論中一樣,一組對象沒有固有的意義作爲單一的價值。如果你選擇這樣使用它,這取決於你如何解釋兩個char s並將它們的數字含義作爲一個單位。

相關問題