Learn iPhone, iOS, Objective-c, Swift, cocos2dx, Unity and ….?

iOSやAndroid開発でのエラー解決法や便利tipsのメモ

RSS Feed

Objective-c 〜arc4random()で変な値が返ってくる〜

0 Comments
Posted by Kuro on 2013/12/09

スポンサードリンク

arc4random()で減算すると・・・

この場合、”−500″〜”499″の値が返ってくることを期待します。

しかし実際に返ってきた値は”4294966784.000000″

原因はunsigned型でマイナス値を扱ったこと

調べてみると原因はarc4random()がu_int32_tを返すことにあるようです。
unsigned(符号なし)型はマイナス値を扱えません。
なのに-500した結果がマイナス値になってしまったため、上記のような値が返ってきてしまったようです。

引き算する前に明示的にdoubleでcastしてあげると正しい値を得られるようになりました。

スポンサードリンク


Tagged as ,
You can leave a comment, or trackback from your own site.

0 Comments

You can be the first to comment!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

Popular Posts