Das offizielle Minecraft Wiki twittert hier: Wiki-Twitter  –  Chatte im Wiki-Discord  –  Noch keinen Server gefunden? Es gibt einen Wiki-Server

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