投稿日 | : 2002/11/29(Fri) 15:31 |
投稿者 | : たけ |
Eメール | : aaa |
URL | : |
タイトル | : Re^4: BCDのデータを扱うには |
> > Byte型は1バイト(8ビット)でなんで
> > > bytHigh = bytBCD \ 16
> > で上位4ビットなのでしょうか?
>
> VBでビットシフト演算子があればよいのですが、無いので割り算で代用です。
> 2で割ると右に1つビットシフトしていると考えれば、4つ移動するには2×2×2×2で16です。
>
> もしかして、ビット列が
> 11110101だった場合に、00001111じゃなくて、11110000にしたい?
> それなら、
> bytHigh = (bytBCD \ 16) * 16
> です。
っということはこういう事でいいでしょうか?
60ビットのデータで先頭4桁と14番目から4桁を取得して
値がいくつになるか
Sub aaaa(vBytBCD As Variant)
'vByBCDには60ビット分のSignalがある
Dim bytHigh As Byte
Dim bytLow As Byte
Dim vBytBCD2 As Variant
'先頭4桁のビット取得
bytHigh = vBytBCD \ (2 ^ 4)
'14番目から4桁のビット取得
vBytBCD2 = vBytBCD \ (2 ^ 17)
bytLow = vBytBCD2 Mod 16
End Sub
でいいのですか