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
# Takes in a decimal value (int) and returns the binary value (int) 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 bin/dec:
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. 🙂