
No.2ベストアンサー
- 回答日時:
色々な方法があります。
(1)論理演算子
a(0) = b And &HFF#
a(1) = (b And &HFF00#) / &H100#
a(2) = (b And &HFF0000#) / &H10000#
a(3) = (b And &H7F000000#) / &H1000000#
If (b And &H8000000) Then
a(3) = (a(3) Or &H80)
End If
(2)ファイル
Open "temp.tmp" For Binary As #1
Put #1, 1, b
Get #1, 1, a
Close #1
(3)RtlMoveMemory
Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
MoveMemory a(0), b, 4
MoveMemory b, a(0), 4
--
(2)が手堅く応用が利くかと。
(3)はlongならいいが、4の倍数でない型は問題あるかも。
No.3
- 回答日時:
前半は、簡単に
Sub main()
Dim a As Byte
Dim b As Long
x = Asc(a)
MsgBox x
b = CLng(x)
MsgBox b
End Sub
は間違ってますか。
自信ありませんので、ご存知の方教えてください。
No.1
- 回答日時:
こんにちは。
maruru01です。変換規則を具体例付きで提示して下さい。
a(0)~a(3)がどのような値の時、bにどのように変換された値が入るのか?
または、bがどのような値の時、a(0)~a(3)はどのような値に変換されるのか?
ひょっとして、256進数のようなことでしょうか?
a(0)が1つ目の位、a(1)が2つ目の位という感じで。
でもその場合は、いくらByteが1バイト、Longが4バイトであっても、数値の範囲が、
Byte:0~255の"正の整数"
Long:-2,147,483,648 ~ 2,147,483,647の整数
なので、まともには無理ですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
【マクロ】並び替えの範囲が、...
-
vba textboxへの入力について教...
-
ワードの図形にマクロを登録で...
-
エクエルのVBAコードについて教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
Excel VBA 選択範囲の罫線色の...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】開いているブックの...
-
えくせるのVBAコードについて教...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
-
【ExcelVBA】5万行以上のデー...
-
VBA ユーザーフォーム ボタンク...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
WORD型をCString型に変換する方法
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
16進をASCIIコードに変換する...
-
VB6.0 String型→Long型変換方法...
-
C#で文字列を数値に変換する方法
-
バイナリデータの文字列変換(5...
-
vb6の桁数指定
-
VC++ std::stringからLPCWSTRに...
-
C#でListとDictionaryの判別方法
-
C++/CLI System::String::Fotma...
-
エクセルでメールヘッダーを解...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
対数変換のついて
-
ASPでVBのFormat関数のような機...
-
Pythonの指数表記について
-
VB.NET ゼロ埋め
-
C++ 文字列変数と16進数の比較
-
2の補数の計算について
おすすめ情報