Ya que los números signados pueden representar valores positivos y negativos, pierden un rango con respecto a los números desasignados del mismo tamaño (en bits), debido a que aproximadamente la mitad de los valores posibles son no positivos, mientras que el respectivo tipo desasignado puede dedicar todos los posibles valores al rango de números positivos.
Por este método de representación de signo, el bit más a la izquierda (bit más significante) denota si el valor es positivo o negativo (0 para positivo y 1 para negativo).
Estos valores pueden tomarse en cuenta por subsecuentes saltos o comandos aritméticos.
Para enteros, el modificador unsigned define el tipo como no signado.
Por contraste, los estándares de C declaran signed char (carácter signado), unsigned char (carácter no signado), y char (carácter), como tres tipos distintos, pero especifica que los tres deben tener el mismo tamaño y alineación.