SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: wontolla89 en Viernes 10 de Septiembre de 2004, 10:06

Título: Auxilio
Publicado por: wontolla89 en Viernes 10 de Septiembre de 2004, 10:06
necesito realizar este program y no me da alguien me puede ayudar

Diseñe un programa con la utilización de funciones que permita el ingreso de un número entero y calcule su valor en una base distinta a la decimal. Las bases que puede consultar el usuario son: binaria, octal, hexadecimal. En caso que el número sea negativo, el programa sólo lo puede transformar a su representación en Complemento – 2.
El programa debe contener:
- Una función que permita transformar el número ingresado por el usuario a la base que éste consulte.(parámetros por referencia)
- Una función que entregue el valor del complemento-2 para el caso que el número sea negativo.(parámetros por valor)


por favor alguien que me conteste rapido

soy nuevo y no me sale nada
Título: Re: Auxilio
Publicado por: Joss en Martes 26 de Octubre de 2004, 14:18
No entiendo muy bien que es lo que pides.
Si por ejemplo, tienes una variable y quieres ver su representacion en decimal y por ejemplo en Hexadecimal, puedes hacer lo siguiente:

char str[20] ;
int xx=15 ;

sprintf(str,"en DECIMAL:%d     en HEXADECIMAL:%0x",xx,xx) ;

El resultado sera la salida: en DECIMAL:15     en HEXADECIMAL:0F

Si buscas sacarlo en binario, podrias construir un string de la siguiente manera:

unsigned short int var,i=1,x ;
char str[20] ;

var=15 ;
for(x=0;x<16;x++)
{
  if( i & var )
     str
   else
     str
  i<<=1 ;
}
str[16]=0 ;

Asi tendras la representacion de la variable var (entera de 16 bits) en el string str.
Saludos.