There are two common types of numbers which are directly handled by CPUs: integers and floating-point numbers.
Integers are stored using two's complement. This means that an $n$-bit integer is stored using $n$ bits. The interpretation of these $n$ bits depends on whether you think of them as representing signed integers (in which case the MSB is the sign bit) or unsigned integers. When performing operations on integers, you typically tell the CPU whether to treat them as signed or unsigned; this makes a difference in some, but not all, cases.
In contrast, floating-point integers have an explicit sign bit. Two's complement might be used internally when implementing arithmetic on them, but that's an implementation detail.