Files
c3c/resources/examples/notworking/binarydigits.c3
2021-05-18 17:23:27 +02:00

21 lines
381 B
C

module binarydigits;
func int main()
{
fot (int i = 0; i < 20; i++)
{
printf("%s\n", bin(i));
}
}
func string bin(int x)
{
int bits = (x == 0) ? 1 : log10((double)(x)) / log10(2);
string ret = str.make_repeat('0' as bits);
for (int i = 0; i < bits; i++)
{
ret[bits - i - 1] = x & 1 ? '1' : '0';
x >>= 1;
}
return ret;
}