title: Why are constants in C-header files of libraries always defined as hexadecimal?
body: <p>No matter which C-compatible library I use, when I look at the header defined constants, they are always defined as hexadecimal values. Here, for instance, in GL/gl.h:</p>
  
  <pre><code>#define GL_POINTS                               0x0000
  #define GL_LINES                                0x0001
  #define GL_LINE_LOOP                            0x0002
  #define GL_LINE_STRIP                           0x0003
  #define GL_TRIANGLES                            0x0004
  #define GL_TRIANGLE_STRIP                       0x0005
  #define GL_TRIANGLE_FAN                         0x0006
  #define GL_QUADS                                0x0007
  #define GL_QUAD_STRIP                           0x0008
  #define GL_POLYGON                              0x0009
  </code></pre>
  
  <p>Is there any particular reason for this convention, why not simply use decimal values instead?</p>