Your concepts are totally correct:
- one's complement = invert everything
- two's complement = invert everything, including the left most bit, then add 1
Your first two examples are correct, the last one is a little strange since you usually work with multiples of bytes (8 bits) and your example has 9 bits, but still, the same rules apply:
(0000000)011110110
ones -> (1111111)100001001
twos -> (1111111)100001010 <-- I think you had a typo here, you stated the result would be 100001011
Here's a nice summary article about the subject: http://academic.evergreen.edu/projects/biophysics/technotes/program/2s_comp.htm