unsigned short
とunsigned int
の違いは何ですか? unsigned short
が0-65,535
であり、unsigned int
が0-65,535
または0-4,294,967,295
であることがわかりました。私はその違いをよく理解していません。私のアーキテクチャでは、データ型のサイズをどのように知ることができますか?そして、たとえば、の場合、c
がunsigned short
であり、dがunsigned int
である場合。それはどういう意味ですか? d
の最初の16ビットはc
に割り当てられていますか?unsigned shortとunsigned int - 時には同じ範囲ですか?
答えて
実際にはshort
とint
の違いは何ですか?答えはshort
が狭いかもしれないが、int
と同じ幅であるかもしれないということです。それはプラットフォームから独立した、事実上すべてがわかっています。多くのプラットフォームには、32ビットのint
と16ビットのshort
がありますが、すべてではありません。
これは、Cのデータ型の歴史を説明するための有用なリンクです:
http://en.wikipedia.org/wiki/C_data_types
だからあなたのデータ型のサイズはプラットフォームに依存しますが、あなたのintはその後、長さが32ビットである場合2^32個の異なる数字のうちの1つを表すことができます(符号なしの場合は0〜4,294,967,295)。同様に、長さが16ビットの場合、2^16の異なる数字の1つを表すことができます(符号なしの場合は0〜65,535)。
このリンクはあなたにint型のサイズは32ビット(4バイト)とショートパンツは、16ビット(2バイト)されているVisual Studio 2005の、のための実装の詳細与える:あなたの正確な
http://msdn.microsoft.com/en-us/library/s3f49ktz(v=vs.80).aspx
を実装はコンパイラによって異なります。
質問の最後の部分については、shortの最大値よりも大きいintを短い値にキャストしようとすると、yes(最初の16ビットはおそらく最初の16ビットですが、テストする必要があります)念のため)。
まず、符号なしのintとshortが何であるかを理解する必要があります。
すべてがビットに分解されています。
短いは、各ビットが1または私は符号なし数値で、数値の範囲は、我々ができ、大きいと4ビット
1000 - Unsigned = 8
1000 - Signed = -8
1111 - Unsigned = 15 which is equal to 2^(# of bits) -1
1111 - Signed = -1
通知を実証する簡略化のために0であり、16ビットであります1111 = 15
しかし、符号付き数と を行い、最大の可能性は、 0111 = 7
今短いそれに
01を与え、16ビットを有しますsigned range of −32,768 to 32,767 [−(2^15) to 2^15 − 1]
Unsigned range: 0 to 65,53 = 2^16 -1
アンのInt我々は、変数タイプ名(短い、int型、長い、二重など)すべてにわたって特定のビット長を指すように有していると言うことができない
Signed:−2,147,483,648 to 2,147,483,647 = −(2^31) to 2^31 − 1
Unsigned: 0 to 4,294,967,295 = 2^16 -1
- 1. なぜサイズが同じでもunsigned short intがunsigned intに昇格するのはなぜですか?
- 2. 短いintとunsigned shortの出力?
- 3. unsigned short intの書式指定子とは何ですか?
- 4. xmlを通じてunsigned short int値を送信する方法
- 5. はint型とunsigned int型
- 6. long unsigned intとunsigned long intの違いは
- 7. バイナリファイルから2バイト(unsigned short)をJava shortに変換します。
- 8. ByteBuffer parse unsigned int
- 9. unsigned long long VS unsigned long long int
- 10. jshortをunsigned shortに変換する
- 11. `*(unsigned int *)(unsigned int)ブロック+ n * i)の意味は?
- 12. テンプレートパラメータにunsigned int型へのconst unsigned int型の変換
- 13. unsigned shortとUSHORTの違いは何ですか?
- 14. unsigned char *をcのunsigned int *に変換する方法は?
- 15. エラーC2440: 'タイプキャスト': 'unsigned int(__thiscall IEngineVGui :: *)(unsigned int)'から 'void *'に変換できません
- 16. C#unsigned intデフォルト値
- 17. unsigned int mysql in C#
- 18. ダブルからunsigned int [2]?
- 19. 2バイトから4バイトをsigned/unsigned short/intに変換します
- 20. Cでは 'long unsigned'は 'unsigned long'と有効ですか?
- 21. 符号付きintとunsigned shortをC++で比較しました
- 22. NSLogのunsigned intとunsigned long Xcodeの警告
- 23. unsigned char(配列)をunsigned int(配列)に変換する
- 24. intをunsigned long longにキャスト
- 25. 「のunsigned long int型」と「unsigned long型long int型」割り当て問題
- 26. unsigned shortをjcharArrayにキャストする方法は?
- 27. Arduino unsigned long int to char *
- 28. ダブル配列をunsigned shortに変換しますか?
- 29. ユーザ警告:BIGINT UNSIGNEDの値がnotifications_eventテーブルの範囲外です
- 30. unsigned int型の右シフトは常に '1'
なぜ3つの言語が挙げられますか? – Lion
Cのような音で、無関係の言語タグを削除します。 – djechlin
3言語では一般的ではありませんか? – mpluse