C/Visual C - de vida o muerte

 
Vista:

de vida o muerte

Publicado por jose luis (1 intervención) el 28/06/2002 03:46:35
escuche.. a quien corresponda.
Necesito ver si me pueden ayudar con una tarea que me dejaron es sobre los complementos en C ... SOLO ALGUNOS EJEMPLITOS EN HEXADECIMAL Y BINARIO, turbo C pues... y ps quiero ver si me podrian mandar algo de informacion sobre eso porque en la web no he encontrado nada :( GRACIAS....ES URGENTE JEJE LA TAREA ES PA MAÑANA SALE BYE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Ejemplos de complementos en C (Turbo C)

Publicado por Alejandro (913 intervenciones) el 06/03/2025 16:25:13
A continuación, te proporcionaré ejemplos sobre cómo trabajar con complementos en C, específicamente el complemento a uno y el complemento a dos, utilizando representaciones en hexadecimal y binario. Estos ejemplos son adecuados para Turbo C.

1. Complemento a uno



El complemento a uno de un número binario se obtiene invirtiendo todos los bits (cambiando 0 por 1 y 1 por 0).

Ejemplo en C:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
void imprimirBinario(int n) {
    for (int i = 7; i >= 0; i--) {
        printf("%d", (n >> i) & 1);
    }
    printf("\n");
}
 
int complementoUno(int n) {
    return ~n; // Invertir todos los bits
}
 
int main() {
    int numero = 5; // Ejemplo: 00000101 en binario
    printf("Número original: ");
    imprimirBinario(numero);
 
    int complemento = complementoUno(numero);
    printf("Complemento a uno: ");
    imprimirBinario(complemento);
 
    printf("En hexadecimal: %X\n", complemento);
    return 0;
}

2. Complemento a dos



El complemento a dos se obtiene tomando el complemento a uno y sumando 1 al resultado.

Ejemplo en C:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int complementoDos(int n) {
    return ~n + 1; // Complemento a uno + 1
}
 
int main() {
    int numero = 5; // Ejemplo: 00000101 en binario
    printf("Número original: ");
    imprimirBinario(numero);
 
    int complemento = complementoDos(numero);
    printf("Complemento a dos: ");
    imprimirBinario(complemento);
 
    printf("En hexadecimal: %X\n", complemento);
    return 0;
}

Resumen



- Complemento a uno: Se obtiene invirtiendo todos los bits de un número.
- Complemento a dos: Se obtiene tomando el complemento a uno y sumando 1.

Notas



- Asegúrate de compilar estos ejemplos en Turbo C.
- Puedes cambiar el valor de `numero` para probar con diferentes números.
- La función `imprimirBinario` muestra la representación binaria de un número de 8 bits.

¡Buena suerte con tu tarea, José!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar