Wątek przeniesiony 2016-06-11 16:06 z Nietuzinkowe tematy przez somekind.

System pojedynczej precyzji

0

Jaka jest postać dwójkowa liczby 2/3 w systemie pojedynczej precyzji? Jakbyście mogli w miare sprawnie odpisać jak to się oblicza.

0

Musiałbym się pani zapytać, wiem tylko że przedmiot jest matematyczny a nie informatyczny

0

A jakiż to przedmiot?

1

Nie znam C# (CLR), wersja w C:

#include <stdio.h>

union {
    unsigned int   uivalue;
    float fvalue;
} val_union;

void printBits(unsigned int num)
{
   int bit_cnt = sizeof(unsigned int) * 8;
   unsigned int mask = (1 << (bit_cnt - 1));

   do
   {
      printf("%u", (num & mask) != 0?1:0);
      mask >>= 1;
   } while (mask > 0);
}

int main(void) {
	 
	val_union.fvalue = 1.0f/3;
	printf("1/3 jako float: %f\n", val_union.fvalue);
	printf("1/3 jako unsigned int: %u\n", val_union.uivalue);
	printf("1/3 jako unsigned int hex: %08x\n", val_union.uivalue);
	printf("1/3 jako bity: ");
	printBits(val_union.uivalue);
	printf("\n");
    return 0;
}

Wynik:

1/3 jako float: 0.333333
1/3 jako unsigned int: 1051372203
1/3 jako unsigned int hex: 3eaaaaab
1/3 jako bity: 00111110101010101010101010101011

http://ideone.com/0WpjJg

0

Ale te tagi to są bez sensu i mi się wpisały same bo byłem na telefonie i coś źle mi się nacisnęło. To nie ma być w języku programowania tylko na kartkówke z matematyki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1