kwkbtr’s log

Skip to main content | 本文へ

(Last modified on Thu, 21 Jul 2011 03:23 JST)

Thu, 21 Jul 2011

intのかけ算には気をつけよう Clip to Evernote

レアケースかもしれないし、当たり前の常識かもしれないが、ちょっとハマったので書き留めておく。

C/C++でintを使うとたいていは32ビットになるだろう。符号ビットがあるので実質31ビットで、log102が0.3ぐらいだから、十進では31×0.3=10桁くらいが最大値である。したがって103=1000ぐらいのintを4つかけ算するとオーバーフローしてしまう。(しかも全くエラーが出ない。)ちょっと大きめのintをちょっとたくさんかけるときはちゃんと大きい整数型にキャストしよう。(Googleはstdint.hで定義されているサイズが明示された整数型の使用を勧めている。)

Tags , , | Comments on this entry

blog comments powered by Disqus

© 2009 KAWAKUBO Toru <web (atmark) kwkbtr.info>

Archives

2013‑Mar 2012‑Jun 2011‑Jul 2010‑Nov 2010‑Oct 2010‑Sep 2010‑Mar 2010‑Jan 2009‑Dec 2009‑Oct 2009‑Sep 2009‑Aug

Latest entries RSS 2.0 Atom 1.0 My tweets | kwkbtr.info Entries in English

See also: Twitter Facebook Flickr Delicious FriendFeed (feeding “kwkbtr’s log,” Twitter, Flickr, Delicious and Last.fm) Nike+ Mendeley Last.fm Tumblr

kwkbtrの早起き生活グラフ Powered by 早起き生活

Made with PyBlosxom