排他的論理和の計算をするには?

解決


初心者  2004-12-01 01:02:01  No: 117903

Asc 関数を使ってASCIIコードを返し、1文字ごとビット変換しに
排他的論理和をとるというようなことをしたいんですが
どうしたらいいでしょうか?
例えば
data = "R5672"というようなデータがあるとき

    ASCIIコード
    R    52    0101    0010   
    5    35    0011    0101
    6    36    0011    0110
    7    37    0011    0111
    2    32    0011    0010

EOR計算結果        0101    0100

16進変換        data2 =      5      4

このような値を取得するにはどのようにすればいいのでしょうか?
以前にも同様の質問が掲示板内にあったのですが、うまくいかないのでどなたか教えてください。よろしくお願い致します。


LESIA  2004-12-01 01:29:36  No: 117904

1文字づつ取り出して XOR すればいいです。

Dim strData As String
Dim bytData As Byte
Dim i As Integer

strData = "R5672"

For i = 1 To Len(strData)
    bytData = bytData Xor Asc(Mid$(strData, i, 1))
Next i

MsgBox Hex(bytData)


syosinnsya  2004-12-01 18:04:21  No: 117905

解決することができました。
LESIAさんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加