私は整数にいくつかのバイナリ文字列を変換したい:
eargb = Integer.parseInt(al + re + gre + blu, 2);
が、私は例外を以下ます。どうして?
java.lang.NumberFormatException: For input string: "11111111111000101000100111111010"
私は整数にいくつかのバイナリ文字列を変換したい:
eargb = Integer.parseInt(al + re + gre + blu, 2);
が、私は例外を以下ます。どうして?
java.lang.NumberFormatException: For input string: "11111111111000101000100111111010"
あなたの番号(4293036538)は(-2,147,483,648〜2,147,483,647の範囲を持っている)署名のintに収まるには大きすぎます。
代わりに長い文字を使用してください。これはより広い範囲を有する。
バイナリ数が整数サイズを超えました。ザッツはなぜあなたのこの例外を取得することは
どの程度
long eargb = Long.parseLong(al + re + gre + blu, 2);
これは、7ヶ月となっているが、ターゲットの答えが記載されていません。また、この質問は検索エンジンでもリードしています。上記の主題は真です。次のように使用してください:
(int)Long.parseLong("11111111111000101000100111111010",2)
eargb =(int)Long.parseLong(al + re + gre + blu, 2);