inline void print_decimal(byte *value, field_def_t *field) { char string_buf[256]; decimal_digit_t dec_buf[256]; int len = 255; decimal_t dec; dec.buf = dec_buf; dec.len = 256; bin2decimal((char*)value, &dec, field->decimal_precision, field->decimal_digits); decimal2string(&dec, string_buf, &len, field->decimal_precision, field->decimal_digits, ' '); print_string(string_buf, len, field); }
int main() { char StringBinary [32]; // **************+Archivo del ISE binario*********************** FILE * fp1; fp1 = fopen("ResultadoProductoXilinx.txt","r"); //***************Archivo donde se van a guardar FILE * fp2; fp2 = fopen ("ResultadoISEfloat.txt", "w+"); int j; // Variable para solicitarle al usuario el número del largo del arreglo int f = 0; //Variable para el while que se va incrementando printf("Tamaño del arreglo en bits: "); // Solicita al usuario el número de bits del archivo binario xilinx.txt por ejemplo si hay 1024 datos entonces son 10 bits lo que se coloca scanf("%d",&j); j = (int) pow(2,j); // 2**j tamaño del archivo if (fp1 == NULL) { printf("No existe el archivo\n"); return EOF; // Para evitar violación de segmento en caso de que no exista el archivo } else { while (f<j) //Mientras no se detecte fin de archivo; { fgets (StringBinary, j, fp1); bin2decimal(StringBinary); fprintf(fp2, "%f \n",numfloat); f++; } } fclose(fp1); fclose(fp2); return 1; }