Excess-3 code is a non-weighted code (each bit position doesn't have a fixed weight value) and it is self-complementing (the 9's complement is obtained by complementing each bit). Therefore it is both non-weighted and self-complementing. A weighted code assigns fixed weights to each bit position.