これを行うと間違った値を取得しています
NSLog(@"cos 90 is %.f", cos(90.0));
私が得る答えは-0です。私がグーグル検索をしたとき、これは私が得たものです:
cos(90ラジアン)=-0.448073616。
しかし、私のカシオ計算機が私に与える答えは0であり、私が子供の頃に成長していたときも、cos 90 = 0
私の脳に掘り下げられました。
誰が正しいですか、それはObjC、Google、または私のカシオ計算機ですか?
これを行うと間違った値を取得しています
NSLog(@"cos 90 is %.f", cos(90.0));
私が得る答えは-0です。私がグーグル検索をしたとき、これは私が得たものです:
cos(90ラジアン)=-0.448073616。
しかし、私のカシオ計算機が私に与える答えは0であり、私が子供の頃に成長していたときも、cos 90 = 0
私の脳に掘り下げられました。
誰が正しいですか、それはObjC、Google、または私のカシオ計算機ですか?
それはすべて、度またはラジアンのどちらで測定しているかによって異なります。
あなたが言ったように、90度(円周率/ 2ラジアン)の正弦は0です。これは定義上ほぼ同じです。
90ラジアンは円周の14.323945倍です。重要なのは残りの部分だけです。円の0.323945、つまり2.035406ラジアンです。その正弦は(すでに見つけたように)-0.448074です。これは定義ではないので、実数は不合理であり、私が引用したのは概算にすぎません。
その行を次のように変更します。
NSLog(@"cos 90 is %0.5f", cos(90.0));
また
NSLog(@"cos 90 is %f", cos(90.0));
そして、あなたははるかに幸せな結果を得るでしょう。
フォーマット文字列の「%.f
」はNSLogを混乱させます。