Nehmen Sie y = 1510751840. Angenommen, Sie möchten die 6-Byte-Little-Endian-Sequenz von Bytes der Zahl y * 1000. Du benutzt Lua 5.1. Wie kannst du es bekommen? Es gibt keinen ganzzahligen Datentyp, nur double, was der Standard von Lua ist. Wie kann das gemacht werden?6-Byte-Little-Endian-Sequenz von 32-Bit-Zeitstempel multipliziert mit 1000
Zum Beispiel, wenn y = 1510743753, die 6-Byte-Reihenfolge sollte sein: 01 5f bf 58 41 28.
Thank you!
Warum frage ich? Ich muss eine Little-Endian-Sequenz für die Anzahl von Millisekunden seit der UNIX-Epoche erzeugen, die ein Lua-Embedded-System verwendet. Ich habe nur die Anzahl der Sekunden und so kann ich eine Little-Endian-4-Byte-Sequenz dieser Nummer erzeugen. Aber ich muss eine 6-Byte-, 48-Bit-Byte-Sequenz erzeugen. Also meine Idee ist es, den 32-Bit Zeitstempel mit 1000 zu multiplizieren, aber ich kann diese Zahl in meinem Lua 5.1 Embeddable System nicht multiplizieren. So hoffe ich, für einen Hack, der mir die 6-Byte-Sequenz entsprechend dem Zeitstempel * erhalten können 1000.
Wenn Sie LuaRocks Module installieren können, bit32 sollte integer-basierte bitweise Operationen ermöglichen: https://luarocks.org/modules/siffiejoe/bit32 – Afforess