swiftで累乗、つまり何回も同じ数をかける、二乗三乗する方法が10秒ググってもでてこないので、書きます(NSDemicalNumberを使う時)
今から書きます
今から書きます
コメントで教えていただきました、以下の通り
下の方のコメントをご参照ください
両方、Double型にしたい場合、こんなんでいいですかね
print(pow(3.0, 4.0)) //=> "81.0\n"
pow("元になる数","累乗する回数の数(次数)")
これをprintする
そして、こんな感じで使おうと思います
var answer:Double = 2.0
var key:Double = 5.0
print(pow(answer, key))
playgroundなどで書くと、きちんと表示されますね
型に関してはまだちょっと僕わかってないかもしれません(すいません
でもとりあえずわかりました(謎)
by コピペプログラマー
以下の試行錯誤中の駄文は読まないほうがいいです
(自分のために一応残してあります)
なんでそんなこと知りたいの?
で、、電卓を作っているからです(恥)
Powとか何とか?
Powっていう関数でいいの??
あーやばい、はやく教えろよ
なんなん?
書いとけよ
stackoverflowより
There isn't an operator but you can use the pow function like this:
return pow(num, power)
If you want to, you could also make an operator call the pow function like this:
infix operator ** { associativity left precedence 170 }
func ** (num: Double, power: Double) -> Double{
return pow(num, power)
}
2.0**2.0 //4.0
んん?
(※これはC言語の方ですよね、そうですよね)
ってか関数ってなに(爆)宣言いるの?
関数?????関数って宣言しないと使えないの????ん?? え? ん????
その辺をきちんと書いてくれよ
特殊な関数は、用意されていて、よびだせる系だけど
召喚呪文唱えて、フィールドに配置してからじゃないと、技使えないの??
え????は???
いつ俺のターンが来るんだよ
ずっと俺のターンだろ
10秒しかねええええんだよ
ちんたらやってんじゃねえーよ
わかりやすく書けよ
(※筆者はGoogle先生に聞いて、10秒でわからないと、困惑しはじめる、ゆとり世代以下の脳の持ち主です)
Swiftだけは関数定義しなきゃダメなの?
https://hydrocul.github.io/wiki/programming_languages_diff/number/pow.html
こちらのページに
各種言語での
累乗表現あるけど
他はこんな簡単なのに
Swiftは関数定義しなきゃダメなの???
ん????
どっち?
書いとけよ
あと3秒しかない
ああああ
ああああああああ
はやく
NSDecimalNumberを使っている場合は、そもそも累乗の書き方が違う、というか足し算ですら違う
あ、そうか、、、
今回、NSDecimalNumberという型を使っています
NSDecimalNumber
別名、では
Binary
Coded
Demical
Number
でBCDと呼ばれるらしいです
<NSDecimalNumberを使うメリット>
いろんな型に対応していて万能なので
その都度、形を変えて出すことができる
<NSDecimalNumberを使うデメリット>
うやって特殊な捉え方をしている関係上、
演算もBCD専用の書き方で行う必要がある
「NSDecimalNumber 累乗」で検索
「NSDecimalNumber 累乗」で検索すればいい、というのがわかってきました
これでググって、先頭10ページくらいを3秒で眺めると。。。
こちらのサイトに書いてありました
func decimalNumberByRaisingToPower(_ power: Int) -> NSDecimalNumber
dNum = [dNum1 decimalNumberByRaisingToPower:2];
という感じということですが…
(http://cocoaapi.hatenablog.comより引用)
NSDecimalNumberを使う場合、マジで式の書き方、複雑っすね
ひえーーー