Difference between revisions of "Lua:qwordToByteTable"

From Cheat Engine
Jump to navigation Jump to search
m (Reverted edits by This content is not available (Talk) to last revision by TheyCallMeTim13)
m
Line 1: Line 1:
 
[[Category:Lua]]
 
[[Category:Lua]]
'''function''' qwordToByteTable(''Number'') ''':''' table
+
'''function''' qwordToByteTable(''Number'') ''':''' Table
  
Converts a QWORD (8 bytes) to a byte table, interpreting it as an integer.
+
Converts a 64-bit qword (integer) to a table of bytes.
  
 
+
===Function Parameters===
Note: If the number is a float only the integer no greater than or no less than the given value will be used.
+
{|width="85%" cellpadding="10%" cellspacing="0" border="0"
 
 
Same as value from 'math.floor'.
 
 
 
  i.e.: 8.1 : 8, 8.9 : 8, -8.1 : -8, -8.9 : -8
 
 
 
 
 
Note: If the number is larger than a QWORD (8 bytes) only the lower portion of the number will be used.
 
 
 
  i.e.: 0xFFFFFFFFFFFFFFFF00 : 0xFFFFFFFFFFFFFF00
 
          8 7 6 5 4 3 2 1 0      7 6 5 4 3 2 1 0
 
 
 
=== Function Parameters ===
 
{|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0"
 
 
!align="left"|Parameter
 
!align="left"|Parameter
 
!align="left"|Type
 
!align="left"|Type
Line 24: Line 11:
 
|-
 
|-
 
|Number
 
|Number
|number
+
|Integer
|The number to convert to a byte table
+
|The 64-bit qword to convert.
 
|}
 
|}
  
 +
===Returns===
 +
Table — A table containing the bytes representing the qword.
  
== Examples ==
+
===Examples===
  local bt = qwordToByteTable(0xFFFFFFFFFFFFFFFF)
+
<pre>
                              --7 6 5 4 3 2 1 0
+
local bytes = qwordToByteTable(0x1122334455667788)
  writeBytes('00123ABC', bt)
+
for i, b in ipairs(bytes) do
 
+
  print(string.format("Byte %d: %02X", i, b))
 
+
end
Code:
+
-- Output: Byte 1: 88, Byte 2: 77, ..., Byte 8: 11 (little-endian order)
  local bt = qwordToByteTable(10)
+
</pre>
  for i, v in ipairs(bt) do
 
    print(i - 1, string.format('%02X', v))
 
  end
 
 
 
Output:
 
  0 0A
 
  1 00
 
  2 00
 
  3 00
 
  4 00
 
  5 00
 
  6 00
 
  7 00
 
 
 
 
 
Code:
 
  local bt = qwordToByteTable(10.9)
 
  for i, v in ipairs(bt) do
 
    print(i - 1, string.format('%02X', v))
 
  end
 
 
 
Output:
 
  0 0A
 
  1 00
 
  2 00
 
  3 00
 
  4 00
 
  5 00
 
  6 00
 
  7 00
 
 
 
 
 
Code:
 
  local bt = qwordToByteTable(0xFFFFFFFFFFFFFFFFFF00)
 
                              --8 7 6 5 4 4 3 2 1 0
 
  for i, v in ipairs(bt) do
 
    print(i - 1, string.format('%02X', v))
 
  end
 
 
 
Output:
 
  0 00
 
  1 FF
 
  2 FF
 
  3 FF
 
  4 FF
 
  5 FF
 
  6 FF
 
  7 FF
 
 
 
  
 
{{LuaSeeAlso}}
 
{{LuaSeeAlso}}

Revision as of 17:25, 11 July 2025

function qwordToByteTable(Number) : Table

Converts a 64-bit qword (integer) to a table of bytes.

Function Parameters

Parameter Type Description
Number Integer The 64-bit qword to convert.

Returns

Table — A table containing the bytes representing the qword.

Examples

local bytes = qwordToByteTable(0x1122334455667788)
for i, b in ipairs(bytes) do
  print(string.format("Byte %d: %02X", i, b))
end
-- Output: Byte 1: 88, Byte 2: 77, ..., Byte 8: 11 (little-endian order)

See also

Related Functions