Javaのint
は常に32ビット符号付き整数になりますか?Java intは常に32ビットですか?
62
A
答えて
101
はい、それはThe Java Language Specificationで定義されています。 Section 4.2: Primitive Types and Valuesから
:
整数型、値8ビット、 16ビット、32ビットおよび64ビット two's-を署名さ
Section 4.2.1: Integral Types and Valuesからbyte
、short
、int
、及びlong
、あります 、およびの値 は、UTF-16コード単位(§3.1)を表す16ビットの符号なし整数 です。
、さらに:
整数型の値が以下の範囲で 整数である:バイトについて
- 、-128から127まで、
- 包括的な要約すると、-32768から32767まで、
- intの場合、-2147483648から2147483647まで-9223372036854775808から9223372036854775807に長いため
- 、charの
- 含め、 '\のU0000' からの '\ uffff' 0から65535
7
int
に、すなわち、包括sは32でありますビット。もっと必要な場合は、long
は64ビットです。
0
Java 8では、符号なし整数のサポートが追加されました。プリミティブint
にはまだ署名がありますが、一部のメソッドでは符号なしと解釈されます。
- compareUnsigned(int型のx、int型のY)
- divideUnsigned(INT配当、INT除数)
- parseUnsignedInt(文字列S) :
- parseUnsignedInt(文字列S、INT基数)
- remainderUnsigned(INT配当、INT除数)
- toUnsignedLo NG(int型X)
- toUnsignedString(INT i)を
- toUnsignedString(INT I、INT基数)ここ
以下の方法は、Java 8にInteger classに添加しました
は使用例である:64ビット長の場合、補足として
public static void main(String[] args) {
int uint = Integer.parseUnsignedInt("4294967295");
System.out.println(uint); // -1
System.out.println(Integer.toUnsignedString(uint)); // 4294967295
}
2
あなたの要件を満たしていない場合は、java.math.BigIntegerを試してください。
数値が64ビットの範囲を超えている状況に適しています。
public static void main(String args[]){
String max_long = "9223372036854775807";
String min_long = "-9223372036854775808";
BigInteger b1 = new BigInteger(max_long);
BigInteger b2 = new BigInteger(min_long);
BigInteger sum = b1.add(b1);
BigInteger difference = b2.subtract(b1);
BigInteger product = b1.multiply(b2);
BigInteger quotient = b1.divide(b1);
System.out.println("The sum is: " + sum);
System.out.println("The difference is: " + difference);
System.out.println("The product is: " + product);
System.out.println("The quotient is: " + quotient);
}
出力は次のとおり
和である:18446744073709551614
違いがある:-18446744073709551615
生成物である:-85070591730234615856620279821087277056
商である:1
関連する問題
- 1. 32ビットと64ビットの両方のプラットフォームでは常にハンドルが32ビットですか?
- 2. MSVC 6では、int 16または32ビットですか?
- 3. 32ビットと64ビットマシンの両方で常に64ビットです
- 4. 32ビットが正常に動作してもJava 64ビットをインストールできない
- 5. 32ビットPowerShellは、64ビットWindows 2008 R2上に常に存在しますか?
- 6. Java rxtxSerial 64ビットvs. 32ビットコンフリクト
- 7. ランニング32&64ビットJavaコード
- 8. Java 8 JDK for Windows 32ビット
- 9. 32ビット32倍の32ビット32ビット乗算
- 10. これは32ビットまたは64ビットのJVMですか?
- 11. IntegerはVB.Netで常に32ビットと仮定するのは安全ですか?
- 12. 64ビット整数をスパークデータフレームの32ビット(16ビット)intに変換する価値はありますか?
- 13. 読み込んで32ビットまたは64ビットJNIライブラリのJava
- 14. Java 32ビットシステムのメモリサイズint [] array
- 15. 64ビットのjava 1.6をWindow/Linux 32ビットにインストールできますか?
- 16. 32ビットと64ビットは一緒に動作できますか?
- 17. OSXのJava 7で32ビットのネイティブライブラリを使用するには
- 18. 32ビットのJavaから64ビットのWindowsコマンドを実行
- 19. ソフトウェアを32ビットから64ビットにコンパイル
- 20. readline.hは32ビットのubuntuではなく64ビットですか?
- 21. mipsには32ビットのアドレスと32ビットの命令がありますか?
- 22. 32ビット/ 64ビットOS?
- 23. 私は32ビットWindows上で64ビットJavaプログラムを実行できます
- 24. は、32ビットの窓使用
- 25. 32ビットExcelアドインは、64ビットExcelで動作できますか?
- 26. Javaアプリケーションから32ビットOSまたは64ビットOSを決定する方法
- 27. 32ビットC++アプリケーションから64ビットJavaアプリケーションを起動する方法は?
- 28. VS 2010プロジェクト常にx86/32ビットをターゲットにしています
- 29. 32ビットのRを32ビットのアクセスデータベースに接続する
- 30. 32ビットの符号なしintビットの数字を反転する
優秀な情報:-) – joe