add zero-padding, and tests
zero-padding for %x, tests