Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Arkadiusz Kałużny nr 219527 Semestr:4 Rok akademicki 2015/2016//
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main(int argc, char *argv[]) {
- float c=0;
- int f=0;
- int zero=0;
- int k=1;
- int s=0;
- float d=0;
- float e=0;
- int tm, pod, a, b, i, eplus, bity, ef, bias, elicznik, ebinar;
- float tp, ulamek, suma;
- int sumaa;
- printf ("wprowadz liczbe podstawy\n");
- scanf("%d", &pod);
- printf("wprowadz liczbe ktora chcesz zamienic\n");
- scanf("%f", &tp);
- printf("wprowadz liczbe bitow\n");
- scanf("%d", &bity);
- if(tp < 0) {
- s = 1;
- tp = tp * (-1);
- }
- tm = (int) tp;
- ulamek = tp - (float) tm;
- for(i = 0; i <= 19; i++) {
- if(tm == 0)
- break;
- a = tm % 2;
- c = c + a * (pow(10, i));
- b = tm / 2;
- tm = tm / 2;
- }
- printf ("\n liczba rzeczywista w ukladzie pozycyjnym o podstawie 10: ");
- printf ("%f", tp*(-1));
- for(i = 1; i <= 19; i++) {
- if(ulamek == 0)
- break;
- e = ulamek * 2;
- if(e >= 1) {
- d = d + 1 * (pow(10, (-i)));
- e = e - 1;
- k = k + 1;
- }
- ulamek = e;
- }
- suma = c + d;
- printf ("\n Liczba rzeczywista w ukladzie pozycyjnym o podstawie 2: %f", suma * (-1));
- for(i = 0; i <= 10; i++) {
- if(c > 2){
- c = c / 10;
- f = f + 1;
- }
- }
- d=d/(1*pow(10,f));
- suma=c+d;
- printf ("\n Mantysa %f", suma);
- ef=f+k;
- bias=(pow(2,(ef-1)))-1;
- printf ("\n Wartosc przesuniecia BIAS : %d", bias);
- eplus=f+bias;
- printf ("\n Liczba bitow cechy e : %d", eplus);
- ebinar=0;
- for(i = 0; i <= 19; i++) {
- if(eplus == 0) {
- elicznik = i;
- break;
- }
- a = eplus % 2;
- ebinar = ebinar + a * (pow(10, i));
- b = eplus / 2;
- eplus = eplus / 2;
- }
- printf (" \n Liczba rzeczywista na reprezentacje zmiennopoycyjna w znormalizowanym formacie IEE-754: \n");
- printf ("\n %d ", s);
- printf ("%d ", ebinar);
- suma = suma - 1;
- suma = suma * (pow(10, 6));
- sumaa = (int) suma;
- if(sumaa < 100000)
- printf("0");
- if(sumaa<10000)
- printf("0");
- if(sumaa<1000)
- printf("0");
- if(sumaa<100)
- printf("0");
- if(sumaa<10)
- printf("0");
- printf("%d", sumaa);
- bity = bity - 1 - ef - elicznik;
- for(i = bity; i > 1; i--)
- printf("0");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement