These are little snippets of how you can convert between binary numbers and decimal numbers using GDScript.
Currently, as I am writing this post, there are no built-in functions for converting between them. Knowing that I am not the first in looking for this, and that I most certainly wont be the last, I decided to post the code for doing so.
Decimal to Binary
func dec2bin(var decimal_value):
var binary_string = ""
var temp
var count = 31 # Checking up to 32 bits
while(count >= 0):
temp = decimal_value >> count
if(temp & 1):
binary_string = binary_string + "1"
else:
binary_string = binary_string + "0"
count -= 1
return int(binary_string)
Binary to Decimal
# Takes in a binary value (int) and returns the decimal value (int)
func bin2dec(var binary_value):
var decimal_value = 0
var count = 0
var temp
while(binary_value != 0):
temp = binary_value % 10
binary_value /= 10
decimal_value += temp * pow(2, count)
count += 1
return decimal_value
If you know of simpler ways of doing this, please comment below and let me know. I always look for ways to improve my coding.
SleepProgger from IRC://freenode #godotengine suggested the following for conversion between binary/decimal:
func bin2int(bin_str):
var out = 0
for c in bin_str:
out = (out << 1) + int(c == "1")
return out
func int2bin(value):
var out = ""
while (value > 0):
out = str(value & 1) + out
value = (value >> 1)
return out
A different approach, but by the look of it; a cleaner approach. Thank you for letting me know. :)