In Linux and other unixes every device has a number. This can be split out into major and minor numbers which is generally how humans see them.
There are three different sizes: 16 32 and 64 bits and the major and minor numbers are jumbled across them.
For some unknown reason lost to time, #procps used its own definition but now it uses the glibc macro. For Linux systems this is no change but it helps with others such as cygwin