Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Operacion 2 a la 32 en c

Estas en el tema de Operacion 2 a la 32 en c en el foro de C/C++ en Foros del Web. Hola, apenas estoy aprendiendo c y estoy haciendo una aplicación y me atore con una operación. Como verán en la imagen el resultado de la ...
  #1 (permalink)  
Antiguo 10/07/2012, 19:27
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta Operacion 2 a la 32 en c

Hola, apenas estoy aprendiendo c y estoy haciendo una aplicación y me atore con una operación.
Como verán en la imagen el resultado de la operación de 2^32=4.294.967.296.


EL problema es que no se como hacer la operación en c, puse el siguiente código pero me da a 34, lo cual no es el valor que quiero.

Código:
#include <stdio.h>
int main() {
unsigned int RESULTADO;
RESULTADO = 2 ^ 32; 
printf("El resultado es: %i.\n", RESULTADO); 
return 0; 
}
Resultado:
Código:
El resultado es: 34.
!!!!!!AYUDA¡¡¡¡¡¡ no se como modificar el código para que la operación salga bien, alguien ayuda ? :c
  #2 (permalink)  
Antiguo 11/07/2012, 00:18
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Operacion 2 a la 32 en c

Hola! este operador ^ no es potencia(creo q es xor). Para elevar un numero a otro tens que usar la funcion pow(), que se encuentra en math.h
  #3 (permalink)  
Antiguo 11/07/2012, 10:36
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Operacion 2 a la 32 en c

Cita:
Iniciado por cesar_casla Ver Mensaje
Hola! este operador ^ no es potencia(creo q es xor). Para elevar un numero a otro tens que usar la funcion pow(), que se encuentra en math.h
Gracias n.n, ya tengo mi aplicación lista :p

Código:
#include <stdio.h>
#include <math.h>
int main() 
#define BINT    sizeof(int)    * 8
#define BCHAR   sizeof(char)   * 8
#define BLONG   sizeof(long)   * 8
#define BFLOAT  sizeof(float)  * 8
#define BDOUBLE sizeof(double) * 8
{
/*PARTE 1: AQUI SE CALCULAN LOS BYTES DE CADA VARIABLE*/
printf("//ESTA INFORMACION ES SEGUN TU SISTEMA.\n");
int numl; 
printf("::::: 1. Bytes de las variables. :::::\n");  
printf("El tipo int ocupa    %i bytes.\n", sizeof(int)    );
printf("El tipo char ocupa   %i bytes.\n", sizeof(char)   ); 
printf("El tipo long ocupa   %i bytes.\n", sizeof(long)   );
printf("El tipo float ocupa  %i bytes.\n", sizeof(float)  );
printf("El tipo double ocupa %i bytes.\n", sizeof(double) ); 
/*PARTE 2: AQUI SE CALCULAN LOS BITS DE CADA VARIABLE*/
printf("::::: 2. Bits de las variables. :::::\n");
int INT; 
INT = BINT; 
printf("El tipo int ocupa    %i bites.\n", INT);
int CHAR; 
CHAR = BCHAR;
printf("El tipo char ocupa   %i  bites.\n", CHAR);
int LONG;
LONG = BLONG; 
printf("El tipo long ocupa   %i bites.\n", LONG);
int FLOAT;
FLOAT = BFLOAT;
printf("El tipo float ocupa  %i bites.\n", FLOAT);
int DOUBLE;
DOUBLE = BDOUBLE;
printf("El tipo double ocupa %i bites.\n", DOUBLE);  
/*PARTE 3: AQUI SE DIVIDE ENTRE DOS PARA SABER EXACTAMENTE LA CAPACIDAD*/
printf("::::: 3. Capacidad de las variables. :::::\n"); 
printf ("La capacidad de int es de    -%lf a %lf.\n", pow (2,BINT ) / ( 2 ), pow (2,BINT ) / ( 2 ) );
printf ("La capacidad de char es de   -%lf a %lf.\n", pow (2,BCHAR) / ( 2 ), pow (2,BCHAR) / ( 2 ) );
printf ("La capacidad de long es de   -%lf a %lf.\n", pow (2,BLONG ) / ( 2 ), pow (2,BLONG ) / ( 2 ) );
printf ("La capacidad de float es de  -%lf a %lf.\n", pow (2,BFLOAT) / ( 2 ), pow (2,BFLOAT) / ( 2 ) );
printf ("La capacidad de double es de -%lf a %lf.\n", pow (2,BDOUBLE) / ( 2 ), pow (2,BDOUBLE) / ( 2 ) );
printf("//ESTA INFORMACION ES SEGUN TU SISTEMA.\n");
}
Gracias.

Etiquetas: codigo_c, operaciones_tiempo_real, ubuntu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:18.