/ / Czy istnieje typ o stałym rozmiarze dwóch bajtów dla punktów zmiennoprzecinkowych w c? - c, zmiennoprzecinkowe, konwersja typu, typy o stałych rozmiarach

Czy istnieje typ o stałym rozmiarze dwóch bajtów dla punktów zmiennoprzecinkowych w c? - c, zmiennoprzecinkowe, konwersja typu, typy o stałych rozmiarach

Potrzebuję czegoś takiego jak uint16_t, ale do pływającegoliczby punktowe zamiast liczb całkowitych. Muszę być w stanie przekonwertować float na to, aby móc go przenieść i przekonwertować później na float (oczywiście stracę trochę precyzji). Czy istnieje proste rozwiązanie tego problemu, czy też powinienem to zrobić ręcznie?

Odpowiedzi:

6 dla odpowiedzi № 1

Nie ma czegoś takiego w standardzie C. Niektóre kompilatory mają __fp16.

Możesz użyć Numery Q., ale są one ograniczone w ustalonym zakresie.

Jeśli naprawdę potrzebujesz Ruchomy punkt, z wykładnikiem, powinieneś zaimplementować ieee standardowa połowa precyzji.

Regularny artimetyki działają na liczbach Q. Powinieneś napisać własną arytmetykę dla połowy precyzji. Chyba że twój kompilator Wspieraj to.

Albo idź otwarte źródło.