JavaのLong Divisionが期待どおりに機能しない

アーカシュゴエル:
class LongDiv{
public static void main(String [] args){

    final long x = 24*60*60*1000*1000;
    final long y = 24*60*60*1000;
    System.out.println(x/y);
}
}

予想される答えは1000ですが、javacは5と答えます。理由は何ですか。

マルティン・クルトー:

xあなたが作成している長さは、あなたが期待した値ではありません。整数の範囲です。longを作成するには、以下を使用します。

final long x = 24L*60L*60L*1000L*1000L;
final long y = 24L*60L*60L*1000L;
System.out.println(x/y);

xあなたは計算は、整数の範囲でした500654080これをy(= 86400000)で割ると、になり5.794607407407407...ます。Javaは、5の原因となる小数部を切り捨てます。

L数値リテラルの後にを追加することで、コンパイラにとしてではlongなくとしてコンパイルするように指示しますintx期待される値はです86400000000しかし、intとしてコンパイルされました。

x500654080)の値をintに切り捨てることで、間違った値を再現できます

// First correct
long x = 24L*60L*60L*1000L*1000L;
/* x = `86400000000`; */
// Now truncate
x &= 0xFFFFFFFFL; // again: don't forget the L suffix
/* x = `500654080` */

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azuresearchsearch.inの機能が期待どおりに機能しない

分類Dev

Java 8のorElseが期待どおりに機能しない

分類Dev

JavaのMath.log()が期待どおりに機能しない

分類Dev

Rx Java mergeDelayErrorが期待どおりに機能しない

分類Dev

Java同期が期待どおりに機能しない

分類Dev

java.util.BitSet-set()が期待どおりに機能しない

分類Dev

Java Splitが期待どおりに機能しない

分類Dev

Java Spring @ Autowiredが期待どおりに機能しない

分類Dev

Java Spring @ Autowiredが期待どおりに機能しない

分類Dev

Java Spring @ Autowiredが期待どおりに機能しない

分類Dev

Java分割文字列が期待どおりに機能しない

分類Dev

java instanceofとgetClass()が期待どおりに機能しない

分類Dev

Java-乗算が期待どおりに機能しない

分類Dev

Java JFrame frame.dispose()が期待どおりに機能しない

分類Dev

Java JFrame frame.dispose()が期待どおりに機能しない

分類Dev

Java-揮発性が期待どおりに機能しない

分類Dev

Javaで連結が期待どおりに機能しない

分類Dev

Java 置換が期待どおりに機能しない

分類Dev

JavaScriptの.filter()が期待どおりに機能しない

分類Dev

Pythonの__import__が期待どおりに機能しない

分類Dev

GoのRWMutexが期待どおりに機能しない

分類Dev

暦日の追加が期待どおりに機能しない

分類Dev

JavaScriptの継承が期待どおりに機能しない

分類Dev

弱参照のdidSetが期待どおりに機能しない

分類Dev

GridBagLayoutのgridwidthが期待どおりに機能しない

分類Dev

暗黙の変換が期待どおりに機能しない

分類Dev

クエリのFirebaseStartAfterが期待どおりに機能しない

分類Dev

AkkaStreamsのRestartFlowが期待どおりに機能しない

分類Dev

JesttoBeCloseToの精度が期待どおりに機能しない

Related 関連記事

  1. 1

    Azuresearchsearch.inの機能が期待どおりに機能しない

  2. 2

    Java 8のorElseが期待どおりに機能しない

  3. 3

    JavaのMath.log()が期待どおりに機能しない

  4. 4

    Rx Java mergeDelayErrorが期待どおりに機能しない

  5. 5

    Java同期が期待どおりに機能しない

  6. 6

    java.util.BitSet-set()が期待どおりに機能しない

  7. 7

    Java Splitが期待どおりに機能しない

  8. 8

    Java Spring @ Autowiredが期待どおりに機能しない

  9. 9

    Java Spring @ Autowiredが期待どおりに機能しない

  10. 10

    Java Spring @ Autowiredが期待どおりに機能しない

  11. 11

    Java分割文字列が期待どおりに機能しない

  12. 12

    java instanceofとgetClass()が期待どおりに機能しない

  13. 13

    Java-乗算が期待どおりに機能しない

  14. 14

    Java JFrame frame.dispose()が期待どおりに機能しない

  15. 15

    Java JFrame frame.dispose()が期待どおりに機能しない

  16. 16

    Java-揮発性が期待どおりに機能しない

  17. 17

    Javaで連結が期待どおりに機能しない

  18. 18

    Java 置換が期待どおりに機能しない

  19. 19

    JavaScriptの.filter()が期待どおりに機能しない

  20. 20

    Pythonの__import__が期待どおりに機能しない

  21. 21

    GoのRWMutexが期待どおりに機能しない

  22. 22

    暦日の追加が期待どおりに機能しない

  23. 23

    JavaScriptの継承が期待どおりに機能しない

  24. 24

    弱参照のdidSetが期待どおりに機能しない

  25. 25

    GridBagLayoutのgridwidthが期待どおりに機能しない

  26. 26

    暗黙の変換が期待どおりに機能しない

  27. 27

    クエリのFirebaseStartAfterが期待どおりに機能しない

  28. 28

    AkkaStreamsのRestartFlowが期待どおりに機能しない

  29. 29

    JesttoBeCloseToの精度が期待どおりに機能しない

ホットタグ

アーカイブ