Difference between revisions of "Lua:dwordToByteTable"

From Cheat Engine
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''function''' dwordToByteTable(''Number'')
+
[[Category:Lua]]
 +
'''function''' dwordToByteTable(''Number'') ''':''' table
  
Converts a DWORD (4 bytes) to a byte table.
+
Converts a DWORD (4 bytes) to a byte table, interpreting it as an integer.
  
  
Line 8: Line 9:
 
Same as value from 'math.floor'.
 
Same as value from 'math.floor'.
  
i.e.: 8.1 : 8, 8.9 : 8, -8.1 : -8, -8.9 : -8
+
  i.e.: 8.1 : 8, 8.9 : 8, -8.1 : -8, -8.9 : -8
  
  
 
Note: If the number is larger than a DWORD (4 bytes) only the lower portion of the number will be used.  
 
Note: If the number is larger than a DWORD (4 bytes) only the lower portion of the number will be used.  
  
i.e.: 0xFFFFFFFF00 : 0xFFFFFF00
+
  i.e.: 0xFFFFFFFF00 : 0xFFFFFF00
 +
          4 3 2 1 0      3 2 1 0
  
 
=== Function Parameters ===
 
=== Function Parameters ===
Line 28: Line 30:
  
 
== Examples ==
 
== Examples ==
 
Code:
 
 
   local bt = dwordToByteTable(0xFFFFFFFF)
 
   local bt = dwordToByteTable(0xFFFFFFFF)
 +
                              --3 2 1 0
 
   writeBytes('00123ABC', bt)
 
   writeBytes('00123ABC', bt)
  
Line 41: Line 42:
  
 
Output:
 
Output:
   1 0A
+
  0 0A
 +
   1 00
 
   2 00  
 
   2 00  
 
   3 00  
 
   3 00  
  4 00
 
  
  
Line 54: Line 55:
  
 
Output:
 
Output:
   1 0A
+
  0 0A
 +
   1 00
 
   2 00  
 
   2 00  
 
   3 00  
 
   3 00  
  4 00
 
  
  
 
Code:
 
Code:
 
   local bt = dwordToByteTable(0xFFFFFFFF00)
 
   local bt = dwordToByteTable(0xFFFFFFFF00)
 +
                              --4 3 2 1 0
 
   for i, v in ipairs(bt) do
 
   for i, v in ipairs(bt) do
 
     print(i, string.format('%02X', v))
 
     print(i, string.format('%02X', v))
Line 67: Line 69:
  
 
Output:
 
Output:
   1 00
+
  0 00
 +
   1 FF
 
   2 FF  
 
   2 FF  
 
   3 FF  
 
   3 FF  
  4 FF
 
  
  
== See also ==
+
{{LuaSeeAlso}}
* [[Lua]]
 
* [[Help_File:Script engine|Script engine]]
 
  
 
=== Related Functions ===
 
=== Related Functions ===
* [[readBytes]]
+
{{ReadWriteMemory}}
* [[readInteger]]
 
* [[readQword]]
 
* [[readPointer]]
 
* [[readFloat]]
 
* [[readDouble]]
 
* [[readString]]
 
* [[writeBytes]]
 
* [[writeInteger]]
 
* [[writeQword]]
 
* [[writeFloat]]
 
* [[writeDouble]]
 
* [[writeString]]
 
* [[readBytesLocal]]
 
* [[readIntegerLocal]]
 
* [[readQwordLocal]]
 
* [[readPointerLocal]]
 
* [[readFloatLocal]]
 
* [[readDoubleLocal]]
 
* [[readStringLocal]]
 
* [[writeBytesLocal]]
 
* [[writeIntegerLocal]]
 
* [[writeQwordLocal]]
 
* [[writeFloatLocal]]
 
* [[writeDoubleLocal]]
 
* [[writeStringLocal]]
 
* [[wordToByteTable]]
 
* [[qwordToByteTable]]
 
* [[floatToByteTable]]
 
* [[doubleToByteTable]]
 
* [[stringToByteTable]]
 
* [[wideStringToByteTable]]
 
* [[byteTableToWord]]
 
* [[byteTableToDword]]
 
* [[byteTableToQword]]
 
* [[byteTableToFloat]]
 
* [[byteTableToDouble]]
 
* [[byteTableToString]]
 
* [[byteTableToWideString]]
 

Latest revision as of 00:06, 25 January 2018

function dwordToByteTable(Number) : table

Converts a DWORD (4 bytes) to a byte table, interpreting it as an integer.


Note: If the number is a float only the integer no greater than or no less than the given value will be used.

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 DWORD (4 bytes) only the lower portion of the number will be used.

 i.e.: 0xFFFFFFFF00 : 0xFFFFFF00
         4 3 2 1 0      3 2 1 0

Function Parameters[edit]

Parameter Type Description
Number number The number to convert to a byte table


Examples[edit]

 local bt = dwordToByteTable(0xFFFFFFFF)
                             --3 2 1 0
 writeBytes('00123ABC', bt)


Code:

 local bt = dwordToByteTable(10)
 for i, v in ipairs(bt) do
   print(i, string.format('%02X', v))
 end

Output:

 0 0A 
 1 00 
 2 00 
 3 00 


Code:

 local bt = dwordToByteTable(10.9)
 for i, v in ipairs(bt) do
   print(i, string.format('%02X', v))
 end

Output:

 0 0A 
 1 00 
 2 00 
 3 00 


Code:

 local bt = dwordToByteTable(0xFFFFFFFF00)
                             --4 3 2 1 0
 for i, v in ipairs(bt) do
   print(i, string.format('%02X', v))
 end

Output:

 0 00 
 1 FF 
 2 FF 
 3 FF 


See also[edit]

Related Functions[edit]