關於short int long的長度規定

2021-07-05 08:16:05 字數 1149 閱讀 8851

short 的最小表示範圍和 int 一樣,都是-32767 到 32767 。也就是 -(2^15 - 1)到(2^15 - 1)。其中,2^15表示 2 的 15 次方。類似地,2 的 20 次方記作2^20 ,以此類推。注意:c 語言中 2^15 並不表示 2 的 15 次方,為了書寫方便,我們姑且這麼表示。

long 的最小取值範圍是 -2147483647 到 2147483647 。也就是 -(2^31 - 1) 到 (2^31 - 1) 。unsigned short的最小表示範圍和unsigned int 一樣,都是 0 到 65535(2^16 - 1)。unsigned long 的最小取值範圍是 0 到 4294967295(2^32 - 1)。

long long的最小取值範圍是 -9223372036854775807(-(2^63 - 1))到 9223372036854775807(2^63 - 1);unsigned long long 是 0 到 18446744073709551615(2^64 - 1)。

標準規定,int 的表示範圍不能小於 short 的表示範圍,long 的表示範圍不能小於 int 的表示範圍。這就是說 short 型變數占用的空間可能比 int 型變數少,而 long 型變數占用的空間可能比 int 型變數多。

16 位(bit)的計算機中,int 和 short 一般都是 16 位,而 long 是 32位;32位的計算機中,short一般是 16 位,而long和int是 32位。tc2(16位的編譯器)中,int是16位的;而 dev-c++(32 位的編譯器)中,int 是 32 位的。

目前,long long 一般 64 位,long 是 32 位,short 是 16 位,而 int 或者 16 位,或者 32 位。具體某個編譯器到底使用多少位來表示這些型別,我們可以用運算子 sizeof 來獲取。例如:

printf( "%lu\n", (unsigned long)sizeof(int) * 8 );  /* 輸出 int 的位數 */

printf( "%zu\n", sizeof(short) * 8 );  /* 輸出 short 的位數 */

sizeof 的用法我們以後會講到,現在只要有個印象就好了。第二句中的 %zu 是 c99 特有的,如果您的編譯器不支援 c99(準確地說,應該是如果您的編譯器使用的庫函式不支援 c99),執行結果將會出錯。

關於short int long的長度規定

標準也規定了這些整數型別的最小取值範圍。short 的最小表示範圍和 int 一樣,都是 32767 到 32767 也就是 2 15 1 到 2 15 1 其中,2 15表示 2 的 15 次方。類似地,2 的 20 次方記作2 20 以此類推。注意 c 語言中 2 15 並不表示 2 的 15 ...

關於this 的使用

如有不對的地方請大家指出,呵呵.this 的使用 1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class a public static void main string args 執行結果 s hellow...

關於IT的我們

首先,對於廣大程式設計師,要先對程式設計師這個職業有個理性的認識。程式設計師不是什麼神聖的職業,這只是乙個普通的技術工種。我認為還算不上是it精英 當然精英的定位,每個人都有不一樣的標準 我個人認為,能自主發現問題,提出方案,構架程式結構的it人士才能算的上it精英。學會某種語言,了解某個領域的基本...