Submit Search
Upload
そもそもFloatとは
•
0 likes
•
585 views
Akura Pi
Follow
Report
Share
Report
Share
1 of 14
Download now
Download to read offline
Recommended
TableViewAgent
TableViewAgent
Akura Pi
LINE生放送27万人が視聴でUSTREAMやツイキャス脅威に
LINE生放送27万人が視聴でUSTREAMやツイキャス脅威に
新潟コンサルタント横田秀珠
スマホサービスにおける、UIデザインのノウハウと実例
スマホサービスにおける、UIデザインのノウハウと実例
yosuke sato
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
Akiko Ohtsuka
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
Githubサービスについて
Githubサービスについて
Akura Pi
Slide
Slide
Akura Pi
フィア・オブ・ジ・アンノウン
フィア・オブ・ジ・アンノウン
Akura Pi
Recommended
TableViewAgent
TableViewAgent
Akura Pi
LINE生放送27万人が視聴でUSTREAMやツイキャス脅威に
LINE生放送27万人が視聴でUSTREAMやツイキャス脅威に
新潟コンサルタント横田秀珠
スマホサービスにおける、UIデザインのノウハウと実例
スマホサービスにおける、UIデザインのノウハウと実例
yosuke sato
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
Akiko Ohtsuka
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
Githubサービスについて
Githubサービスについて
Akura Pi
Slide
Slide
Akura Pi
フィア・オブ・ジ・アンノウン
フィア・オブ・ジ・アンノウン
Akura Pi
ナイーブツリーの入れ子集合
ナイーブツリーの入れ子集合
Akura Pi
ファントムファイル
ファントムファイル
Akura Pi
Metaprogramming
Metaprogramming
Akura Pi
Ns user defaults
Ns user defaults
Akura Pi
Currying
Currying
Akura Pi
Storyboard
Storyboard
Akura Pi
Mvcのすすめ
Mvcのすすめ
Akura Pi
Groovy base
Groovy base
Akura Pi
More Related Content
More from Akura Pi
ナイーブツリーの入れ子集合
ナイーブツリーの入れ子集合
Akura Pi
ファントムファイル
ファントムファイル
Akura Pi
Metaprogramming
Metaprogramming
Akura Pi
Ns user defaults
Ns user defaults
Akura Pi
Currying
Currying
Akura Pi
Storyboard
Storyboard
Akura Pi
Mvcのすすめ
Mvcのすすめ
Akura Pi
Groovy base
Groovy base
Akura Pi
More from Akura Pi
(8)
ナイーブツリーの入れ子集合
ナイーブツリーの入れ子集合
ファントムファイル
ファントムファイル
Metaprogramming
Metaprogramming
Ns user defaults
Ns user defaults
Currying
Currying
Storyboard
Storyboard
Mvcのすすめ
Mvcのすすめ
Groovy base
Groovy base
そもそもFloatとは
1.
そもそもFloatとは @akuraru 13年9月25日水曜日
2.
自己紹介 • akuraru • プログラマ •
SQLAPですがDBの話はしない 13年9月25日水曜日
3.
数値 • 機械は2進数しか理解できない。 • すべて0又は1で表現されている •
4 = 100 • 10 = 1010 13年9月25日水曜日
4.
小数点 • 小数点以下も0又は1で表す • 2進数なので(1/2)**nで表す •
0.5 = 0.1 • 0.125 = 0.001 13年9月25日水曜日
5.
小数点 • 0.1 とかはどうなるの? •
循環小数で表す • 0.1 = 0.00011 • 0011が無限に続ければ0.1を表せる 13年9月25日水曜日
6.
Float • 実際のメモリ領域は有限 • ある程度のところで切り上げている •
0.1 = 0.00011001100110011001100110011 13年9月25日水曜日
7.
Float • ある程度とはどのくらい? • その前に仮数と、指数というのがある •
1001100110011001100110011が仮数 • -4が指数 • 0.1 = 1.1001100110011001100110011 * 10^-4 13年9月25日水曜日
8.
Float • C言語の場合 • Floatの指数8ビット、仮数23ビット •
double の指数11ビット、仮数52ビット 13年9月25日水曜日
9.
Floatの問題 • いろいろな誤差がある。 • オーバーフロー •
桁落ち • 情報落ち • 積み残し • 丸め誤差 • ってWikipediaに書いてあった。 13年9月25日水曜日
10.
• SQLAPということで丸め誤差だけ説明 します • 他はググってください 13年9月25日水曜日
11.
丸め誤差 • 0.1 を100倍して
10 になると思うな! • 10 = 1010 • 0.1 = 0.00011001100110011001100110011 • 100 = 1100100 • 0.1 * 100 = 1001.11111111111... 13年9月25日水曜日
12.
DECIMAL • ちゃんと調べてない。 • 2進数で0.1をそのまま表すからよくない •
1 * 10 ^ -1 と表せば解決 • DBには1を保存して取り出すときに10で 割ればいい。 13年9月25日水曜日
13.
計算式を保存する • 0.1なんていう結果を保存するから良く ない • 計算過程を保存しておけば安全 •
div(1, 10)とか保存しておくばいい • 13年9月25日水曜日
14.
まとめ • プログラミング言語でもFloatをforで足 していくのも誤差が出ます • 整数で計算して、必要なときに割る 13年9月25日水曜日
Download now