| TOP | ホーム | ページ一覧 |

No.14880 への▼返信フォームです。
 
32ビットの変数に変換する方法
   投稿者: sstv    
2022/12/19(月) 11:23
No. 14880 引用
 
  お世話になります。

I2Cで4つのレジスタから読み出した4つの1バイト変数を、1つの32ビットの変数に変換しようとしていますが、なかなか旨くいきません。

MAKEINTでは16ビットの変数に変換しますが、何か良い方法がありますでしょうか?

よろしくお願いします。

 
Re:32ビットの変数に変換する方法  引用
  投稿者: O-Family    ..2022/12/19(月) 17:10  No.14881
  Dim A(4) As Byte
Dim L As Long
Dim W As Word

A(1) = &H12
A(2) = &H34
A(3) = &H56
A(4) = &H78

L = A(1)
Shift L , Left , 8
L = L + A(2)
Shift L , Left , 8
L = L + A(3)
Shift L , Left , 8
L = L + A(4)

Print Hex(l)

'
'
W = Makeint(a(2) , A(1))
L = W
Shift L , Left , 16
W = Makeint(a(4) , A(3))
L = L + W

Print Hex(l)

'
'
L = A(1)
L = L * 256
L = L + A(2)
L = L * 256
L = L + A(3)
L = L * 256
L = L + A(4)

Print Hex(l)

End
Re:32ビットの変数に変換する方法  引用
  投稿者: sstv    ..2022/12/19(月) 23:06  No.14883
  お世話になります。

いろいろな方法があるんですね。

ありがとうございました。



名前
Mail   URL
文字色
タイトル   簡単タグ入力
添付   >>お絵かき
フォームに保存  プレビュー      削除キー