Pourquoi les adresses mémoire sont représentés à l'aide de nombres hexadécimaux?

Chaque fois que je vois les programmes en C qui font directement référence à un emplacement spécifique sur la mémoire (par exemple, une barrière de mémoire) il est fait avec des nombres hexadécimaux, également dans windows lorsque vous obtenez une segfualt il présente la mémoire segfualted avec un nombre hexadécimal.
Par exemple: *(0x12DF)
Je me demande pourquoi les adresses mémoire sont représentés à l'aide de nombres hexadécimaux?
Est-il une raison particulière pour que ou c'est juste une convention?

Parce que les nombres hexadécimaux sont 0xC001.
Je vais faire cette blague. Thats it! Vous êtes 0xDEAD!

OriginalL'auteur the_drow | 2011-03-16