Difference between revisions of "Lua:byteTableToDouble"

From Cheat Engine
Jump to navigation Jump to search
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
[[Category:Lua]]
 
[[Category:Lua]]
'''function''' byteTableToDouble(''Table'') ''':''' float
+
'''function''' byteTableToDouble(''Table'') ''':''' Number
  
Converts a byte table to a QWORD (8 bytes), interpreting them as a double precision floating point value.
+
Converts a table of bytes to a double precision (64-bit) floating point number.
  
 
+
===Function Parameters===
=== Function Parameters ===
+
{|width="85%" cellpadding="10%" cellspacing="0" border="0"
{|width="85%" cellpadding="10%" cellpadding="5%" cellspacing="0" border="0"
 
 
!align="left"|Parameter
 
!align="left"|Parameter
 
!align="left"|Type
 
!align="left"|Type
Line 12: Line 11:
 
|-
 
|-
 
|Table
 
|Table
|table
+
|Table
|The table of bytes to convert
+
|A table containing the bytes to convert (least significant byte first).
 
|}
 
|}
  
 +
===Returns===
 +
Number — The resulting double precision floating point value.
  
== Examples ==
+
===Explanation===
Code:
+
The function takes a table of bytes (e.g., <code>{0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40}</code>) and interprets them as a 64-bit double in little-endian order.
  local bt = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40 }
 
  local value = byteTableToDouble(bt)
 
  print(string.format('0x%0X', value))
 
  print(value)
 
  
Output:
+
For example, <code>byteTableToDouble({0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40})</code> returns <code>3.14</code>.
  0x64
 
  100.0
 
  
 +
===Examples===
 +
<pre>
 +
local doubleValue = byteTableToDouble({0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40})
 +
print(doubleValue) -- Output: 3.14
 +
</pre>
  
 
{{LuaSeeAlso}}
 
{{LuaSeeAlso}}

Latest revision as of 17:41, 11 July 2025

function byteTableToDouble(Table) : Number

Converts a table of bytes to a double precision (64-bit) floating point number.

Function Parameters[edit]

Parameter Type Description
Table Table A table containing the bytes to convert (least significant byte first).

Returns[edit]

Number — The resulting double precision floating point value.

Explanation[edit]

The function takes a table of bytes (e.g., {0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40}) and interprets them as a 64-bit double in little-endian order.

For example, byteTableToDouble({0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40}) returns 3.14.

Examples[edit]

local doubleValue = byteTableToDouble({0x1F, 0x85, 0xEB, 0x51, 0xB8, 0x1E, 0x09, 0x40})
print(doubleValue) -- Output: 3.14

See also[edit]

Related Functions[edit]