A different way for converting to 2's complement
What you describe is how 2's complement is designed: if you start at 0 and add 1, you get the value 1, if you substract 1, you get the value -1. 0b0000_0000 - 1 = 0b1111_1111 (which is 255 when interpreted as unsigned). Hence you can calculate 0b1_0000_0000 - N to get ( - N ).