Join The Fan Lab, a private Fandom research community for users in the US and UK where you will be asked to share your opinions on all things gaming and entertainment! Click here to see if you qualify

Modul:Basis umrechnen

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche
[Lesen | Bearbeiten | Versionen | Aktualisieren]Buch und Feder.png DokumentationSpringe zum Quelltext ↴Lua logo.svg 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


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