This is my function in Java:
public static String convertFromDecimal(int number, int base)
    {
        String result = "";
        /*
         * This while loop will keep running until 'number' is not 0
         */
        while(number != 0)
        {
            result = (number%base) + result; // Appending the remainder
            number = number / base; // Dividing the number by the base so we can get the next remainder
        }
        // If the number is already 0, then the while loop will ignore it, so we will return "0"
        if(result == "") 
        {
            return "0";
        }
        return result;
    }
It works fine for numbers that convert to numbers not beginning with 0, if the number is supposed to have a zero at the start, it will not record it, could anyone tell me why?
For example, if I print out
convertFromDecimal(13,2) it returns 
1101
Which is correct, but if I print out
convertFromDecimal(461,2), I get 
111001101
Where the actual answer is
0000000111001101
So it's the same as my answer without the leading zeroes, if anyone knows why I would appreciate the help, thank you.
EDIT My question is different because I don't want 16 digits, I want the binary number of the given decimal, a calculator like this can explain what I want.
 
     
    