人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Objective-cのキャストで質問です。
int a=(float) 10/ 4 ; は
なぜ2.500000 にならないのですか?
int a=10/ (float) 4 ;は2.500000になりますが...

Int型とfloat型だとfloat型の方が優先順位が高いはずなので…
Objective-c初心者なので教えて下さい!

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

int a=(float) 10/ 4 ; は
なぜ2.500000 にならないのですか?

計算結果をint型の変数に格納しているから。
「(float) 10/4」の計算結果は2.5ですが、aに代入すると小数点以下が切り捨てられて2が格納されます。
ただ、同じ理屈であれば:

int a=10/ (float) 4 ;は2.500000になりますが...

こちらも2になるはずなのですが…。
もしかしてint afloat aの間違いですか?


匿名質問者さんのコメント
ご指摘の通りでした…。float aでした。 とてもわかりやすい説明ありがとございます!!! まだ勉強を始めたばかりで…。おかげで大変助けられました!!!本当にありがとございます!!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ