Wszystko działa tak jak powinno i wyświetla prawidłowe liczby. Nie ma liczb binarnych, które mają z przodu 0, bo 0 przed liczbą w każdym systemie liczbowym jest nieznaczące.
Liczba 7 binarnie to: 1 1 1
Ale na upartego może być też: 0 1 1 1
Obydwa zapisy bitów znaczą to samo. Zero z przodu nie ma wpływu na wartość. Jeżeli chcesz sobie liczby uzupełniać zerami z przodu, to musisz napisać do tego dodatkową funkcję ;-)