Estimado:
La respuesta a esas preguntas dependen del lenguaje que uses y la arquitectura sobre la que estés trabajando. Para el caso de C, en una máquina de 32 o 64 bits, el entero ocupa 32 bits y siempre los enteros se guardan en complemento a dos.
Saludos,
Federico