The "0x" prefix is used in the C family of languages. Sometimes you see an "H" appended to the number to signify it's hexadecimal, or a subscript "16". So, the book is just being sloppy.
You have the pattern right.
I don't quite understand your question about 16 - in a base-16 system, it would be "10".
The value of "0" is still "0" - in any system.