ホームページ  >  記事  >  バックエンド開発  >  C言語のデータintの値の範囲は何ですか?

C言語のデータintの値の範囲は何ですか?

烟雨青岚
烟雨青岚オリジナル
2020-06-30 11:17:4519567ブラウズ

C では、int は 4 バイト、32 ビットを占め、データ範囲は -2147483648~2147483647[-2^31~2^31-1] です。 int型データは符号付き整数データであり、その最上位ビットが符号ビット(0は正、1は負)となります。

C言語のデータintの値の範囲は何ですか?

#C では、int は 4 バイト、32 ビットを占め、データ範囲は -2147483648~2147483647[-2^31~2^31] です。 -1]。

2 バイトを例とした詳細な回答プロセス:

C では、int 型データは符号付き整数データであり、その最上位ビットは符号ビットです (0 は正を意味します) 、1 は負を意味します)。

1 バイトは 8 バイナリ ビットに相当します。多くのコンピュータ システムでは、通常、符号付き数値を表すために 2 の補数が使用されます (補数システム)。

元のコード: 最上位ビットは符号ビット (0 は正を意味し、1 は負を意味します) であり、他のビットは通常の方法で数値の絶対値を表します。

逆コード: 署名された本の場合、正の数の逆コードは元のコードと同じであり、負の数の逆コードは、元のコードのすべてのビットをビットごとに反転したものです。サインビット。

補数コード: 正の数の補数コードは元のコードと同じであり、負の数の補数コードはその逆コードで最下位ビットに 1 を加えたものです。

2 バイトなので、バイナリの元のコードの最大値は 0111 1111 1111 1111 = 2^15 - 1 = 32767 です。

最小値は 1111 1111 1111 1111 = - (2^15 - 1) = -32767 です。

元のコードの 0 の式は、[0]original = 0000 0000 0000 0000; [-0]original =1000 0000 0000 0000のように正と負に分けることができます。

したがって、バイナリの元のコードで表現すると、範囲は -32767 ~ -0 と 0 ~ 32767 になります。 0 が 2 つあるため、異なる値の数は 2^16 - 1 になります。

コンピュータが 2 の補数コードを使用してデータを保存する場合、0 の表現は一意です: [0] 補数 = [-0] 補数 = 0000 0000 0000 0000

現時点では、正の数値エンコード 変更はありません。0000 0000 0000 0000 ~ 0111 1111 1111 1111 は引き続き 0 ~ 32767 を表します。

負の数値は、補数コードに従う必要があることを示します。つまり、-32767 の補数コードは 1000 0000 0000 0001 です。

したがって、補数コードには元のコードよりも 1 つ多くのコードが存在します。元のコードを補数コードに変換すると 1000 0000 0000 0000 になることは不可能なので、このコードは 1000 0000 0000 0000 になります。 , だから人々 1000 0000 0000 0000 の 1 の補数エンコーディングは -32768 であると指定されています。

結論: int 型データが 2 バイトを占める場合、2^16 の変化を表現できます。最上位ビットは符号ビットなので、0 も 1 つの型を占めるので、正負で 2^15 の変化があります。 , そのため、正負の数値の最大値は対称ではありません。つまり、この int 型データの値の範囲は -32768 ~ 32767 になります。

C言語のデータintの値の範囲は何ですか?

拡張情報:

int 使用方法:

定義方法:

int i;//整数変数 i を定義します

int i=1;//整数変数 i を定義し、1 に初期化します

定数を定義します:

const int i ;//定数には初期値を与える必要があるため、コンパイル エラーになります。

const int i=1;//定数 i を値 1 で定義します。

Java は定数を定義します:

final int i=1;//定数 i を値 1 で定義します

推奨チュートリアル: "

C 言語"

以上がC言語のデータintの値の範囲は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。