The way I like to think about two's-complement numbers is to think about what happens to a the lower bits of a binary number when subtracting. If the bottom 4 bits of x are 0000 and the bottom four bits of y are 0001, then the bottom four bits of x-y are going to be 1111 regardless of what the bits are above them. This can easily be generalized for any particular number of bits (subtracting a number whose bottom bits express the value 1 from a number whose bottom bits express the value 0 will yield a number whose bottom bits are all set). Since that will work for any number of bits, it may be further generalized to say that subtracting one from zero will yield a number with an infinite number of bits set.
In practice, storing an infinite number of bits isn't practical. For any N>=1, however, all numbers within the range -(2^N) to (2^N)-1, however, all bits to the left of the Nth bit (counting leftward) will have the same value as the Nth bit itself, and thus need not be stored. Thus, when using an 8-bit two's-complement values, the value -1 isn't "really" 10000000, but is instead [infinite # of 1s]0000000, and the value 127 isn't 01111111, but [infinite # of 0s]1111111. Viewing things in this fashion will make it clear how conversions between different sizes of values should work.
For example, converting the 8-bit value to 16 bits would simply entail copying out part of the inifinite string of 1s or zeros, while converting a 16-bit value in the range -128..127 to 8 bits would entail dropping some duplicated bits. If a 16-bit number is outside that range, converting it to 8 bits would yield the value that would result from copying out the most singificant retained bit.
PS--applying the power summation formula 1+2+4+8... yields -1. That may seem nonsensical, but fits perfectly with how two's-complement math works. For any value of N, if the bottom N bits of a number are all set, adding 1 will yield a number whose bottom N bits are all clear. The only number for which the bottom N bits will be clear for all values of N is zero, and the only number which will yield 0 when 1 is added to it is, of course, -1.