Czesc, mam problem z potegowaniem liczby 10. Dodam ze ta dluga tablica to 0,1 zapisana binarnie. kod:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int licznik = 0,i;
double liczba_dziesietna_=0.0,jakas=0.0;
char tab[]="0.00011001100110011001100110011";
printf("%s\n\n",tab);
for(i=2;tab[i];i++)
{
licznik--;
if(tab[i]='1')
{
jakas=pow(10.0,licznik);
liczba_dziesietna_=liczba_dziesietna_+jakas;
printf("%.20lf\t%jakas zmienna %.20lf\n",liczba_dziesietna_,jakas);
}
}
printf("%.30lf liczba dziesietna",liczba_dziesietna_);
return 0;
}
Po pierwsze
if(tab[i]='1')
wg mnie powinno byc interpretowane tak: jesli w tablicy tab na miejscu
i
znajduje sie "1" to wykonaj dalej. A to dziala zawsze. Gdzie popelnilem blad?
Po drugie 10 ^-1 to raczej 0,1 a nie
0.10000000000000001000
. Dodam ze korzystam z dev cpp 5.7.1 oraz TDM GCC 4.8.1 64 bit
jakies pomysly?