■ 現在のこのページの役立ち度:
評価平均=NaN / 5, 評価総数=NaN
このページはまだ評価されていません。評価をお願いします。
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#147-2
モトローラ系とインテル系のバイナリデータ変換の方法
モトローラ系とインテル系のバイナリデータ変換の方法を
VBで実現させたいのですが、どのようにすればよろしいでしょうか?
つまり int 型で 1 のデータを示すバイナリ値(16進) 01 00 のデータを 00 01 と
変換したいのです(上位ビットと下位ビットの交換)。
同様に long 型も 01 02 03 04 とあれば、04 03 02 01 と交換させたいです。

ビットシフトができればすぐにでもできますが、VBでビットシフトはできるのでしょうか?

よろしくお願い致します。
#150-2
RE#147:モトローラ系とインテル系のバイナリデータ変換の方法
> ビットシフトができればすぐにでもできますが、VBでビットシフトはできるのでしょうか?
&H1234
を
&H3412
にしたいって事ですよね?

&H1234 AND &HFF     → &H34
&H1234  \  &H100    → &H12
&H34 * &H100 + &H12 → &H3412
こんな感じでOKでは?
#166-2
RE#150:モトローラ系とインテル系のバイナリデータ変換の方法
お返事ありがとうございます。
 
> &H1234 AND &HFF     → &H34
> &H1234  \  &H100    → &H12
> &H34 * &H100 + &H12 → &H3412

で変換を行うとオーバーフローを起こす場合があります
(下位8ビット目が1の時)。

積を行わず byte データの列にするしかなさそうです。
#168-2
RE#166:モトローラ系とインテル系のバイナリデータ変換の方法
下位8ビット目が1って、具体的にいくつの事でしょうか? 上から数えてなのか下からなのか、
0からなのか1からなのか判りませんし、考え方自体は正しいようなのですが。

Private Sub Command1_Click()
    MsgBox Hex(fIM(&H1234&))
End Sub

Function fIM(lw As Long) As Long
    Dim ll As Long
    Dim lh As Long

    ll = lw And &HFF&
    lh = lw \ &H100&
    fIM = ll * &H100& Or lh
End Function
#172-1
RE#168:モトローラ系とインテル系のバイナリデータ変換の方法
> 下位8ビット目が1って、具体的にいくつの事でしょうか? 上から数えてなのか下からなのか、
> 0からなのか1からなのか判りませんし、考え方自体は正しいようなのですが。
符号ビットのことでしょう。最上位ビットとかMSBとかbit7とか言ってくれると
わかりやすいのですが・・・。
原則として、掲示板に記載されるコードは「ヒント」ですから、
自分なりに消化する必要があるかと思います。
VBではUnSignedが扱えないわけですから、
「負の数はどうするか?」とか「Longで21億超えたらどうするか?」は
自力で考え、わからなかったら再び質問してみればいいのではないかと。

場合によってはCでDLL作って利用するほうがいいかもしれませんが。

このページと関連する記事:
#2481-1MKS,MKI関数について1999-08-02(月) 21:03
#28785-0unsigned型の扱い方2002-05-20(月) 12:53
#816-2データ型について2001-11-01(木) 01:46
#138-0十進数の仕方について1999-07-20(火) 01:01
#6799-0ビット計算2000-03-21(火) 06:00
#9754-0コード変換について2000-04-20(木) 07:21
#28309-0文字列のビット操作2000-08-21(月) 16:08
#4189-2UTF-16をUTF-8に変換する方法2002-01-22(火) 14:01
#41846-0テキストの暗号化について。2001-04-18(水) 07:04
#1551-0複数CheckBoxのコードの書き方で他に方法はないでしょうか1999-09-14(火) 17:22
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)