[Lesen | Bearbeiten | Versionen | Aktualisieren] DokumentationSpringe zum Quelltext ↴ Zum Gebrauch von Lua-Modulen siehe die Modul-Hilfe.
Das Modul Basis umrechnen stellt Funktionen zur Verfügung, die Zahlen von und in Dezimal, Hexadezimal und Binär umrechnen:
- fromDec rechnet eine Dezimalzahl um
- fromBin rechnet eine Binärzahl um
- fromHex rechnet eine Hexadezimalzahl um
Diese Funktionen verwenden die interne Funktion fromBase.
Aufruf
{{#invoke: Basis umrechnen | fromDec | 255 | 2 }}
wird zu 11111111
{{#invoke: Basis umrechnen | fromDec | 255 | 16 }}
wird zu FF
{{#invoke: Basis umrechnen | fromBin | 1111111 | 10 }}
wird zu 255
{{#invoke: Basis umrechnen | fromBin | 1111111 | 16 }}
wird zu FF
{{#invoke: Basis umrechnen | fromHex | FF | 2 }}
wird zu 11111111
{{#invoke: Basis umrechnen | fromHex | FF | 10 }}
wird zu 255
Anwendung
Liste der Vorlagen, die dieses Modul verwenden
Vorlagen | |
---|---|
Module |
|
local p = {}
function p.fromDec( f )
local args = f.args or f
local base = tonumber( args[2] ) or 16
local dec = tonumber( args[1] ) or 0
if base == 10 or dec == 0 then
return dec
elseif base == 16 then
return string.format( '%X', dec )
else
local chars = '0123456789ABCDEF'
local pos
local out = ''
while dec > 0 do
pos = math.mod( dec, base ) + 1
dec = math.floor( dec / base )
out = string.sub( chars, pos, pos ) .. out
end
return out
end
end
function p.fromBase( f )
local args = f.args or f
local fromBase = tonumber( args[3] ) or 10
local toBase = tonumber( args[2] ) or 16
local dec = tonumber( args[1], fromBase ) or 0
return p.fromDec{ dec, toBase }
end
function p.fromHex( f )
return p.fromBase{ f.args[1], f.args[2], 16 }
end
function p.fromBin( f )
return p.fromBase{ f.args[1], f.args[2], 2 }
end
return p