types (int,long,..) often vary in size and therfore one uses standard types: qtypes_t where q is a qualifier, type is the base type, s is the width in bits and _t is an extension so you know you are using the C99 defined types (e.g., uint8_t)

negative binary number representations:

- sign bit: one bit is specialized as a sign bit
- one’s complement:
- “not” operator applied to positive number yields neg. number
- advantage: subtraction is easy (just add and also add additional carry over bit)

- two’s complement:
- same as one’s comp. but you always add an additional one
- advantag: subtraction is even easier (just add) and all simple math op. are now easy to manage

source: bottomupcs.com