elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda codigo para pasar de decimal a coma flotante iee 754
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda codigo para pasar de decimal a coma flotante iee 754  (Leído 1,949 veces)
rx22

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda codigo para pasar de decimal a coma flotante iee 754
« en: 12 Octubre 2015, 22:07 pm »

Tengo que hacer un programa para pasar un float a binario, con el formato coma flotante. De momento llevo este codigo para pasarlo primero a binario, me sale bien la parte entera, pero no entiendo el problema que hay al intentar meter la decimal:
#include<stdio.h>
#include <string.h>
#include <stdlib.h>

void vuelta( char* volteador, char* definitivo){


char aux;
    while(volteador>definitivo)
        aux=*volteador, *volteador--=*definitivo, *definitivo++=aux;
}




void dconversor(float num,char* dbin){
static char n[]="01,";



    float decimales=num;


    do{
    decimales=decimales*2;
    if(decimales<1.0){
    *dbin++=n[0];

    }
    if (decimales>=1.0){
    *dbin++=n[1];
    decimales =decimales-1;
}



     }while(decimales!=0);
}


char* conversor(float num, char* bin){
     static char n[]="01";
    int pEntera;
    float pDecimal;
    pEntera =(int)num;//casting a entero
    pDecimal=num-pEntera;

    char* aux=bin;
    div_t rest;
    int base=2;
    int i =0;
    int close =1;
    int contador=0;
    char* str;
    int z;
    // pasa a base 2 , pero al reves
   
 do{

        rest=div(pEntera,base);
       *aux++= n[rest.rem];


       }
    while(pEntera=rest.quot);
    //le da la vuelta

    vuelta(aux-1,bin);


   dconversor(pDecimal,bin-1);

    return bin;

}
int main()
{
    char base2[32];
    float num;
    char dbase2[32];
scanf("%f",&num);


printf("el resultado en base 2 es: %s,",conversor(num,base2));
return 0;

    }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
operaciones con numero de coma flotante
Java
tobu 3 5,275 Último mensaje 26 Marzo 2009, 14:50 pm
por juancho77
"Ayuda" con Codigo(Pasar de Decimal a Binario)
.NET (C#, VB.NET, ASP)
Jirp96 4 6,023 Último mensaje 8 Mayo 2011, 22:20 pm
por Jirp96
Programa para pasar de numero decimal a coma flotante
Programación C/C++
sora_ori 7 9,378 Último mensaje 5 Abril 2013, 19:15 pm
por leosansan
reemplazar la coma decimal por el punto decimal
Programación C/C++
niko26.m 2 4,499 Último mensaje 3 Agosto 2013, 03:06 am
por aguml
Entero por coma flotante
Programación General
psycho248 4 3,002 Último mensaje 15 Mayo 2014, 05:50 am
por psycho248
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines