タグ

浮動小数点に関するmarujunjunのブックマーク (7)

  • 浮動小数点数(float, double)演算の丸め誤差と対策(Javaの例)

    最近浮動小数点数演算に起因する調査を行う機会があったので、復習しました。 浮動小数点数(Javaで言うとfloatとかdouble)を使って演算するときは丸め誤差によって意図した値にならないことがあります。これが発生するケースや対策について書いてみました。 しっかり書こうと思ったけど、当然ながらこれについて書いている記事は他にも色々あるし、自分自身他のblogで書いたことがあったので、結構省略していきます。 ちなみに以下のサイトとか分かりやすくて良いですよ。 [Java] 小数点の計算をやるからといってすぐにfloatやdoubleを使ってはいけない 現象 package com.tsukaby.calc; public class App { public static void main(String[] args) { System.out.println(0.7 + 0.2 + 0

  • Interactive Reading Community (Ver.6)

  • 4.2.4. 浮動小数点演算 - akios @ ウィキ

    比較演算子はboolean型の値を返します。:数値比較演算子<と<=と>と>= 数値等価演算子==と!= 数値演算子はfloat型もしくはdouble型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 条件演算子? : キャスト演算子、浮動小数点値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと浮動小数点オペランドを与えると浮動小数点オペランドの値を表す10進数のString表現に変換し2つの文字列を結合して新たなString型を作成します

    4.2.4. 浮動小数点演算 - akios @ ウィキ
  • 浮動小数点数型と誤差

    有限桁 C言語で扱える実数値は,2進数の有限小数で表された数値である.例えば次のようなものである. 1.5(10) = 1.1(2) 3.25(10) = 11.01(2) 理論的には小数が無限に続く値でも,そのうちの有限個の桁数でその値を表すしかない. 例えば,0.1 を2進数の小数で表すと 0.1(10) = 0.000110011001100110011...(2) と無限に続くが,コンピュータの内部では有限桁で丸められている. このような場合には,当の値ではなく,近似値でしか表すことができない. 指数表記(浮動小数点表記) 科学計算では非常に大きな実数値や非常に小さな実数値も扱うことがある. そのようなときには,通常の10進数の表記ではなくて,次のような指数表記で表すれば 無駄な 000...000 という桁を表記しなくてもよくなる. 1234567890000000000000

    浮動小数点数型と誤差
  • 浮動小数点数について本気出して考えてみた - 一から勉強させてください( ̄ω ̄;)

    (2016/12/30 追記)コメントでご指摘頂いた箇所に関して修正しました。 この前たまたまこちらの記事を見つけて、浮動小数点数について全然理解してないなって思ったので勉強してみました。 前提 コンピュータの中に保存されているデータはすべて 0 と 1 の集まり(ビット列)で表現されている。そしてどういうビット列をどういう値として解釈するかは特に決まっておらず、使う人が勝手に決めていい。でもそれだと混乱を招くのでルールを作る必要がある。ルールは人間が勝手に決めた約束事に過ぎない。 固定小数点数と浮動小数点数 コンピュータは 0 と 1 しか表現できないから小数点.も表現できない。よって小数点付きの実数を表すときのルールが必要となり、そのルールとして固定小数点数と浮動小数点数がある。 固定小数点数 ビット列のどこに小数点をつけるか、あらかじめピンポイントで決めてしまう。 例えば「下 1 桁

    浮動小数点数について本気出して考えてみた - 一から勉強させてください( ̄ω ̄;)
  • 半導体事業 - マクニカ

  • ビットで表す数字の世界~浮動小数点編~ - 半導体事業 - マクニカ

    こんにちは、ダックです。 前回符号付きの数の表し方を紹介しました。今回は浮動小数点についてです。 浮動小数点とは、小数点の位置を固定せずに表現された数です。非常に大きな数から小さな数まで表すことができます。 浮動小数点は多くの表し方がありますが、ここでは IEEE754 という方式に準拠した 32 ビット単精度浮動小数点数について扱います。この記事内で単に浮動小数点と記載した場合はこれを指します。

    ビットで表す数字の世界~浮動小数点編~ - 半導体事業 - マクニカ
  • 1