[解決済み] 整数の割り算:doubleはどうやって出すの?
2022-02-02 03:21:42
質問
このコードブロックの場合
int num = 5;
int denom = 7;
double d = num / denom;
の値
d
でございます
0.0
. キャスティングで強制的に動作させることができる。
double d = ((double) num) / denom;
しかし、他に正しい方法があるのでしょうか?
double
の結果は?私はプリミティブの鋳造は好きではありません、何が起こるかわからないからです。
どのように解決するのですか?
double num = 5;
これでキャストは回避できます。 しかし、キャストの変換はきちんと定義されていることがわかります。 推測する必要はなく、単に JLS .int から double への変換は、幅が広がります。 から §5.1.2 :
プリミティブ変換の幅を広げても に関する情報を失います。 の大きさは、数値の大きさである。
[...]
int値またはlong値の変換 をfloatに、またはlong値を ダブルでは 精度、つまり、結果が の最下位ビットの一部です。 の値です。この場合、結果の 浮動小数点値は を正しく丸めたものです。 整数値、IEEE754準拠 ラウンド・トゥ・ニアス・モード (§4.2.4) .
5は丁度2倍で表すことができる。
関連
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み] Javaでdoubleをintegerに変換する
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] JavaScriptで整数の除算を行い、余りを別途取得する方法は?
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】Eclipseで「パッケージエクスプローラー」ビューが見つからない
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)