ホームページ >よくある問題 >uint16 とはどのようなデータ型ですか?

uint16 とはどのようなデータ型ですか?

藏色散人
藏色散人オリジナル
2021-07-23 11:31:3426481ブラウズ

uint16 は 16 ビットの符号なし整数型です。整数には符号なしと符号付きの 2 つの型があります。デフォルトでは、宣言された整数変数は符号付き型です。符号なし型を宣言する必要がある場合は、unsigned を追加する必要がありますタイプの前に。

uint16 とはどのようなデータ型ですか?

#この記事の動作環境: Windows7 システム、DELL G3 コンピューター

uint16 のデータ型は何ですか?

uint16 は 16 ビットの符号なし整数型、uint8 は 8 ビットの符号なし整数型です。

整数型には、unsigned (符号なし) と signed (符号付き) の 2 種類があります。 ). デフォルトでは、宣言された整数変数は符号付き型です (char は少し特殊です)。符号なし型を宣言する必要がある場合は、型の前に unsigned を追加する必要があります。負の値を取ることが不可能な場合は、符号なしとして定義できます。基礎となる埋め込みプログラミング データの中には、通常、符号なしのものがあります。

uint16 とはどのようなデータ型ですか?

関連紹介:

負の数の場合の符号付き整数型と符号なし整数型の変換

演算を実行する場合 (ここでは a> ;b)、オペランドの 1 つが符号付きで、もう 1 つが符号なしの場合、C 言語は暗黙的に符号付きパラメータを符号なし数値に強制し、この演算を実行するために 2 つの数値がすべて負ではないと想定します。

整数は通常、コンピュータでは補数の形式で存在し、-1 の補数 (4 バイトに格納) は 1111,1111,1111,1111 です。ほとんどの C 言語実装では、同じワード サイズの符号付き数値と符号なし数値の間で変換するための一般的なルールは、値は変更される可能性がありますが、ビット パターンは変更されないというものです。

つまり、unsigned int が int にキャストされるとき、または int が unsigned int に変換されるとき、基礎となるビット表現は変更されません。つまり、-1 が unsigned int に変換された後でも、メモリ内の表現は変更されません (1111,1111,1111,1111)。

同じストレージ表現が、アプリケーションの異なるデータに対応する場合があります。たとえば、1111、1111、1111、1111 は、符号付き数値の場合は -1 を表しますが、符号なし数値の場合は UMax を表します (正の数の補数自体が符号ビットであるのと同様、最上位ビットは符号ビットを表しません) が、基礎となるストレージは同じです。

関連知識の詳細については、

FAQ 列をご覧ください。

以上がuint16 とはどのようなデータ型ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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