|Wikipedia also has an article about Binary.|
The binary number system uses the number two as its base. Binary numbers only use the digits 0 and 1 and are managed internally by the hardware itself. In the Pokémon glitch community, the term binary or BIN refers to the base two form of an identifier, as opposed to the base sixteen (hexadecimal or HEX) form.
An example of binary being used in the Pokémon games is the memory address that manages the amount of badges (D356 in Red/Blue, D355 in Yellow). Here, a value of +2^0 (hex/dec:01) means the player has obtained the first badge, a value of +2^1 (hex/dec:02, binary 10) means the player has obtained the second badge, a value of +2^2 (hex/dec:04, binary 100) and so on, up to bit 7 (+2^7, i.e. hex/dec: 80, binary 10000000. Notice the pattern of the next digit becoming '1' for every next 2^x value.
Let's say you happen to have every badge except the first one. The value you're looking for is 11111110 (the first least signifcant bit is unset). That converted to hexadecimal is FE, so using the code 01FE56D3 will give you those badges in Pokémon Red and Blue.
Additionally, the value 0 in binary can be used to denote a state of something being 'OFF' and the value 1 can be used to denote the state of being 'ON'.