CSharp · Console
using System;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
int value = Int32.Parse(Console.ReadLine());
StringBuilder binary = new StringBuilder();
int totalBit = 1;
int power = 1;
while (power <= (value / 2))
{
power *= 2;
Console.WriteLine(power + " pode fazer parte de " + value.ToString());
totalBit++;
}
int total = 0;
int bit = totalBit -1;
while (power > 0)
{
if (value < power)
{
binary.Append("0");
Console.WriteLine("O bit " + bit.ToString() + " (" + Math.Pow(2, bit).ToString() + ") nao faz parte do numero");
}
else
{
binary.Append("1");
total += power;
value -= power;
Console.WriteLine("O bit " + bit.ToString() + "(" + Math.Pow(2, bit).ToString() + ") faz parte do numero. Total: " + total.ToString());
}
power /= 2;
bit --;
}
Console.WriteLine(binary.ToString());
Console.ReadLine();
}
}