ポスト

N88 BASICでのBEEP音の調律でございます🌹 周波数からの計算が大変なので教えていただきました分周値計算式のテストでございます🧐  分周値=BEEPクロック周波数÷Aの周波数÷2^((音階番号-69+移調数)/12) 値がすべて0になってしまうのでございますわ😳 #PC98 #BASIC #BEEP pic.twitter.com/IYhlM0K1rT

メニューを開く

システムギア 【電子部品(製品)情報】@sgd_parts

みんなのコメント

メニューを開く

変数を宣言する際にをDEFSNGもしくはDEFDBLにすれば単精度もしくは倍精度の実数になります。 INT型だと整数に丸め込まれますので、誤差が大きくなります。

gaプログラミングスクール枚方校【公式】@gahirakata301

メニューを開く

(2^・・・)にしないと駄目だけど音階計算するなら1オクターブ12音階分の分周比を予め計算してテーブルにいれといた方が速いし簡単

真田 @litzhaus

メニューを開く

移周数が計算式に入って無いような…? あと、計算結果を12で割ってからINT(整数化)してません?

憧れは素浪人@Lucion02

メニューを開く

N88のOUT命令って1バイトしか出力できなかったような 256段階でしか設定できないかも 昔ポケコンで音階作った時も3オクターブが限界だったように覚えています

にゃお!@miko_miko_nurse

メニューを開く

INTは整数しか表現できないから 0.9999 でも0って答えになっちゃうけど どうかの? 浮動小数が必要であればlongだった気がするな

DiGiNyanko@DiGiNyanko

メニューを開く

x=int() のintを外して数字がどうなるか見てみると、0.xxになってるかどうかわかります。

めぐみさん@XayZzVKyS1PGZnQ

メニューを開く

170行目 ・int不要(他の方も指摘されてますが…) ・+移調数が抜けてる あとは ・x#と倍精度型宣言 ぐらいでしょうか?

メニューを開く

C=INT((2.45676E+06)/440/(2^((60-69)/12))) ですかね

kani@kani7

メニューを開く

N88-BASICは長いこと触っていないので間違っているかもしれませんが、多分計算内容が整数化されてしまっているのかもしれませんね。 実数型を使うといいかもです☺️

けんおう@yswgt879

メニューを開く

式あってるかい? Windowsのメモ帳を使って式を分解して関数電卓で計算をしてみよう。

Y8L@Y8L

人気ポスト

もっと見る
Yahoo!リアルタイム検索アプリ