como se especifica que es un numero negativo en binario?

Pregunta de la clase:
Tipos de datos
Pedro Morales

Pedro Morales

Pregunta
studenthace 5 años

como se especifica que es un numero negativo en binario?

2 respuestas
para escribir tu comentario
    Jesus Mendez Chavez

    Jesus Mendez Chavez

    studenthace 4 años

    Es algo realmente sencillo, ocupemos por ejemplo las variables de tipo int las cuales contienen 16 bits**, de los cuales 15 son ocupados para contener el número, y el último bit se reserva para el signo, por ejemplo:

    int a = 15;

    Donde esta sería su representación en decimal, pero si hacemos su representación en binario (que es como realmente lo almacenan las computadoras) se vería algo así (como dato así es como en C indicas que el contenido de una variable está en binario con el 0b):

    int a = 0b0000000000001111;

    Por otra parte si tenemos el número:

    int b = -15;

    Su representación en binario se vería algo así:

    int b = 0b1000000000001111;

    Donde se aprecia claramente que el último bit de nuestra variable almacena al signo en cuestión.

    Pero si por alguna razón solo vas a almacenar números enteros y necesitas ocupar el último bit en vez del signo, cómo otro bit para almacenar números ocupamos la palabra reservada unsigned la cual se puede utilizar con cualquier tipo de variables numéricas, como se ve a continuación:

    unsigned int c = 30;

    Esto nos permite aumentar la capacidad de nuestra variable pero nos quita la oportunidad de usar números negativos, como tal lo que hace la palabra unsigend es indicarle al compilador que no estaremos ocupando el último bit para el signo si no como otro más para almacenar números.

    ** en algunas bibliografías se encuentra que la variable int es de 16 bits y en otras que es de 32, pero esto depende meramente del hardware del equipo sobre el cual se está trabajando.

Curso de Introducción a C 2019

Curso de Introducción a C 2019

Domina las bases para programar en C, el Lenguaje de Programación de propósito general usado para programar microcontroladores y sistemas operativos. Comprende la estructura de C, el lenguaje base de lenguajes avanzados como C++.

Curso de Introducción a C 2019
Curso de Introducción a C 2019

Curso de Introducción a C 2019

Domina las bases para programar en C, el Lenguaje de Programación de propósito general usado para programar microcontroladores y sistemas operativos. Comprende la estructura de C, el lenguaje base de lenguajes avanzados como C++.