Amazon Interview Question
You can do this with positive number , but you really can't do it without negative number , how do you fill -1 ?
Recursion will help here
void PrintBinary(int n)
{
if(n!=0)
{
PrintBinary(n/2);
printf("%c", (n%2)+'0');
}
}
How about this solution
public class Binary {
public static void main(String[] args) {
//Read in the variable somehow
int var = 34;
printVar(var);
}
private static void printVar(int var) {
if (var == 1) {
System.out.print(var);
} else {
printVar(var >> 1);
System.out.print(var & 1);
}
}
}
say the integer has 32 bits.
unsigned int mask = (1 << 31);
while(mask > 0) {
print mask & num ? '1' : '0';
mask >> 1;
}
int binary(int n)
- Anonymous April 23, 2010{
if(n==0)
return 0;
else
{
binary(n/2);
printf("%d",n%2);
}
return 0;
}