Red de conocimiento informático - Computadora portátil - C51 La suma de dos enteros con signo de tipo int se desborda, cómo capturar la situación de desbordamiento

C51 La suma de dos enteros con signo de tipo int se desborda, cómo capturar la situación de desbordamiento

En lenguaje C, int es un entero con signo en el que el bit más alto representa el signo. 0 significa, 1 significa -.

En informática se suele utilizar el complemento a dos para representar números binarios.

Según el principio del complemento, el complemento de un número positivo es él mismo, y el complemento de un número negativo es la inversión de su correspondiente código binario más 1.

Por tanto, el valor máximo de un número positivo (111 1111 1111 111) se expresa en lenguaje C como:

0 1111111 11111111=2^15-1=32767

0 se expresa como: 0000 0000 0000 0000 0000

-1000 0000 0000 = -2^15= -32768

El complemento del código binario anterior es: 1000 0000 0000 0000 Se define artificialmente como el valor negativo más pequeño porque no existe ningún código que coincida con este valor en todos los sistemas de complemento.

Por lo tanto, el rango de valores de INT en lenguaje C es 1000 0000 0000 0000 - 0111 1111 1111 1111 1111