excelvba convert endianess code example
Example: excel vba swap endian
'Extremely fast VBA function to convert a LONG value from Little-Endian
'to Big-Endian byte order representation, and vice versa:
Function ConvertEndianness&(ByVal n&)
ConvertEndianness = (((n And -16777216) \ 16777216) And 255&) Or _
((n And 16711680) \ 256&) Or ((n And 65280) * 256&) Or ((n And 127&) * 16777216)
If (n And 128&) Then ConvertEndianness = ConvertEndianness Or &H80000000
End Function
'------------------------------------------------------------------------------------------------
MsgBox ConvertEndianness(127) '<--displays: 2130706432
MsgBox ConvertEndianness(2130706432) '<--displays: 127
'NB: This function converts byte order: &h12345678 --> &h78563412
' &h78563412 --> &h12345678
'Reference:
https://en.wikipedia.org/wiki/Endianness