signed type has the same definition as the
unsigned type, so most operations are the same.
The difference comes up when you try to treat something of the
signed type as a number. It will be treated as an signed, 2's complement binary-coded integer, with the most significant bit in the first position in the array.
Have a look at the other operations in
std_logic_arith for examples of how this type can be used.