投稿者 てつ  (社会人) 投稿日時 2024/12/18 00:29:27
VBAの質問です。
VBA(.NETも同じ)のDecimal型の整数最大値(小数点以下の桁数=0)は96bit整数部がすべて「1」だと思うのですが
以下のように12Byte全てに「&HFF」を与えてみましたが
最大値「79,228,162,514,264,337,593,543,950,335」とはなりません。
何か考え違いをしているのでしょうか?

Sub ByteArrayToDecimal()
    Dim byteArray(11) As Byte
    Dim decimalValue
    Dim i As Long
    For i = 0 To 11
        byteArray(i) = &HFF
    Next i
    For i = 0 To 11
        decimalValue = decimalValue + CDec(byteArray(i)) * 256 ^ i
    Next i
    Debug.Print "Decimal Value: " & decimalValue
    Debug.Print "Decimal MaxValue: " & CDec("79,228,162,514,264,337,593,543,950,335")
End Sub