累乗根、pow 使っていいなら
xのn乗根 = x^(1/n) = pow(x, 1/n)
なんだけど、そういう話ではなくて??
一引数版の pow しか使わないなら
a^b = exp^(log(a)*b)
です。
累乗根て日常ではほぼ使わないけど、音階がそうです。
A=440Hz に対して高いA=880Hz、一オクターブで周波数は 2 倍になりますね。
一オクターブは半音が 12 ステップ分なので、半音上げるということは周波数を 2^(1/12) 倍することに等しい。
440Hz*2^(1/12)=466.164Hz がA#になります。さらに半音上げるには更に 2^(1/12)倍して
440Hz*2^(1/12)*2^(1/12)=493.883Hz=B です。
440Hz*exp(2,c/12)でAに対して半音c個分上げた音になる。c<=0でも可。
0そうだね プレイ済み