The RTC uses binary-coded decimal, not straight binary.
Here is a brief explanation of binary versus binary-coded decimal.
(BCD = binary-coded decimal)
Binary: bits are valued 128, 64, 32, 16, 8, 4, 2, 1
BCD: bits are valued 80, 40, 20, 10, 8, 4, 2, 1
Dec binary BCD
--- -------- --------
0 00000000 00000000
1 00000001 00000001
2 00000010 00000010
... ........ ........
7 00000111 00000111
8 00001000 00001000
9 00001001 00001001
10 00001010 00010000
11 00001011 00010001
... ........ ........
15 00001111 00010101
16 00010000 00010110
... ........ ........
19 00010011 00011001
20 00010100 00100000
... ........ ........
99 01100011 10011001
If you try to print a BCD number the way you would print an ordinary number, it will come out wrong.
Try printing it as HEX and see what you get.