2017年9月23日のブックマーク (5件)

  • float型についてわかったことをまとめる

    はじめに float型が32ビットで表現されることは知っていました。 しかし、どうやって小数の数字を扱っているのか、あまりよくわかっていませんでした。 この記事では、float型について私がわかったことを整理します。 主な参考サイト 浮動小数点数型と誤差 単精度浮動小数点数(wiki) 非正規化数(wiki) ※間違いがあったら、コメント欄で指摘していただけると助かります。 32ビットの内訳 1ビット:符号 8ビット:指数部 23ビット:仮数部 符号(1ビット) -、+かで0か1が割り振られる。 指数部(8ビット) 8ビットなので、byte型をイメージすると、0~255の256通りの表現を行うことができます。 sbyte型をイメージすると、2の(-128乗)~2の(127乗)まで表現できるような気がしますが、これは間違いです。 256通りの内、0と255の2通りに関しては以下の用途で予約さ

    float型についてわかったことをまとめる
    ict119
    ict119 2017/09/23
    アンダーフローという言葉の指す範囲が謎 はじめに アンダーフローという言葉を調べたが、どこまでの範囲をアンダーフローというかよくわからなくなってきた。 自分がわかったこと、逆にわからなかったことをまとめて
  • アンダーフローという言葉の指す範囲が謎

    はじめに アンダーフローという言葉を調べたが、どこまでの範囲をアンダーフローというかよくわからなくなってきた。 自分がわかったこと、逆にわからなかったことをまとめておく。 アンダーフローとは ・演算の結果の絶対値が小さくなった時に、正確に表現できない状態 ・「下位桁溢れ」とも言う 以下の場合、アンダーフローというのだろうか? 1番目のケース:0に近いが0でない小さな数字が、0として表示される 2番目のケース:0に近いが0でない小さな数字が、不正確に表示される 3番目のケース:大きな数字に対して。小さな数字を足しても反映されない 1番目のケース:0に近いが0でない小さな数字が、0として表示される float型であれば、1.401298E-45 (float型で表現できる最も0に近い小さな数字)より小さい数字を表現しようとした時に、0と表示される「場合がある」。 例えば、10の-46乗をflo

    アンダーフローという言葉の指す範囲が謎
    ict119
    ict119 2017/09/23
  • 代入演算子と複合代入演算子(C#)

    代入演算子とは 代入演算子とは、右辺の値を左辺に代入する時に使われます。 「=」という記号を使います。 例えば、以下の場合、iという変数に値10が代入されます。 int i = 10; ソースコード using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Substitution01 { class Program { static void Main(string[] args) { int i = 10; Console.WriteLine("iの値は"+i); } } }

    代入演算子と複合代入演算子(C#)
    ict119
    ict119 2017/09/23
  • Processing.js drug and drop

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Processing.js drug and drop
    ict119
    ict119 2017/09/23
    円周率のモンテカルロシミュレーション モンテカルロシミュレーションの例 <![CDATA[ //Info: void setup(){ size(200, 260); colorMode(RGB,256); background(255); rect(0, 0, 200, 200); } int cy = 100; int cx = 100; int radius = 100; int totalcount=0; int count=0; void dr
  • 円周率のモンテカルロシミュレーション

    モンテカルロシミュレーションの例 上のアニメーションはProcessingというプログラミング言語で書いています。 ※シミュレーションを最初から見たい場合はページを再度読み込んでください。興味があれば、ソースコードを実際に動かしてみてください。 ソースコードは以下のようになります。 void setup(){ size(200, 260); colorMode(RGB,256); background(255); rect(0, 0, 200, 200); } int cy = 100; int cx = 100; int radius = 100; int totalcount=0; int count=0; void draw(){ clearToWhite(); for(int i=0;i<100;i++){ totalcount++; float x = random(200);

    円周率のモンテカルロシミュレーション
    ict119
    ict119 2017/09/23