You aren't understanding
binary code, or
base 2? I'll try to explain it starting from the beginning which you most likely know. Every number can be expressed in
base 2. That means every number can be expressed as a 1 or 0. I think the easiest way to do it is to pick a number like 387. If you needed to put 387 into
base 2 I would start out by writing out the powers of 2. In this case you need one greater than 387. Eventually this will be mental or memorized if you do it alot..but start out by stating the powers of 2.
1,2,4,8,16,32,64,128,256,512
You can stop at 512 because 1) that is the end of a
universe and 2) that is greater than 387. Now go through those numbers and find the biggest you can that isn't more than 387. That would be 256. Since you have one 256 that can be added to get to 387 the
switch for 256 is now a 1 instead of a 0
1__2__4___8 __16__32__64_128_256_512
0__0__0___0___0___0___0___0___1___0
Now subtract the 256 from 387. 387-256=131. Now you have to find 131 and you have the start of your
base 2 number. Then you start going down the chain, the next smallest of the powers of 2 is 128. There is a 128 in 131, so you add the 1 there and do your subtraction.
1__2__4___8 __16__32__64_128_256_512
0__0__0___0___0___0___0___1___1___0
131-128=3
Now you check for 64. No 64s go into 3, nor does 32, nor does 16, nor does 8, nor does 4. Those would all remain as a 0. A 2 will go into 3, so you do the subtraction (3-2=1). You change your number
1__2__4___8 __16__32__64_128_256_512
0__1__0___0___0___0___0___1___1___0
Now you have 1. One does go into 1 leaving you with 0 for the number you need to get to in the end.
1__2__4___8 __16__32__64_128_256_512
1__1__0___0___0___0___0___1___1___0
After that take out the spaces to get your number.. 110000011. For the
DMX address 387 you would have the first, second, eithth and nineth switchs at 1 and the rest at 0. Hopefully that helps you understand
base 2.