10001010000011を1000101と0000011に!

投稿者: | 2005年10月7日

PB値に変換するまではできたんだけど、
今度はこれをMSB・LSBの数値に変換する表も作りたくなった。
ただひとつ問題が!
MSB・LSBの形にするには、
まずcent値(C)14bit (P)(-8192~+8191)の数値に変換し、
これに8192足したものを14桁の2進数にし(B)、その上位7桁と下位7桁に分けたものを
再び10進数にしたものがそれぞれMSB(M),LSB(L)になるのだが、
この上位と下位に分ける方法がわからん!_| ̄|○
================================
440Hzから442Hzにする場合、
(C)=12×100×log2(442/440)
(C)=7.851
(P)=7.851×8192/100(セント値最大幅)
(P)=643.15392
(B)=643.15392+8192
→DEC2BIN関数で2進数に変換。
(B)=10001010000011
→(B)を上位下位に分け、MSB,LSBを求める。
(M)=1000101
(L)=0000011
→BIN2DEC関数で10進数に。
(M)=69
(L)=3

================================
もう求め方はわかったので別にいいんだけど、
ここまでやってここだけ動的にできないのはなんかイヤなんだよね・・・。_| ̄|○
なんかいい方法ないかなぁ~~。(;´Д`)

コメントを残す

Or

メールアドレスが公開されることはありません。

CAPTCHA