Byte配列から2Byteずつ切り出してIntegerの配列に詰めなおすには?

解決


Ken  2005-06-09 11:00:18  No: 122378  IP: [192.*.*.*]

こんにちは。Kenです。

Byte配列で受け取れるデータ列があるのですが、実際はそのうち
2Byteを一つのデータとして扱いたいのです。

このような場合、やっぱりMoveMemoryでByte配列の要素を一つずつ
取り出して、Longの配列なりに入れなおすしか手は無いのでしょうか?

データ量が多いので、なるべくこの手は避けたいのですが・・

ご指南、よろしくお願いします。

編集 削除
魔界の仮面弁士  2005-06-09 11:28:02  No: 122379  IP: [192.*.*.*]

VB6ですよね。
2Byteなら、LongではなくIntegerなのでは。

> このような場合、やっぱりMoveMemoryでByte配列の要素を一つずつ
> 取り出して、Longの配列なりに入れなおすしか手は無いのでしょうか?
Byte配列を、Integer配列にMoveMemoryすればよいのでは。

編集 削除
Ken  2005-06-09 12:36:18  No: 122380  IP: [192.*.*.*]

>魔界の仮面弁士
さっそくのお返事ありがとうございます。

>VB6ですよね。
>2Byteなら、LongではなくIntegerなのでは。
ここ、記述ミスでした。
ご指摘の通りLongではなくInteger型です。

>Byte配列を、Integer配列にMoveMemoryすればよいのでは。
ああ、配列全体をMoveMemoryできるのですね。
それならば要素数に関係なく処理は早く済みそうです。

こんな感じでしょうか?
MoveMemory IntArray ByteArray Len       'LenはByteArrayの要素数

編集 削除
Ken  2005-06-09 16:23:38  No: 122381  IP: [192.*.*.*]

あ、解決にチェック入れるの忘れてました。
失礼。

編集 削除