예제 #1
0
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);
}
예제 #2
0
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;

}