zmiennoprzecinkowa notacja własna

0

zmiennoprzecinkowa notacja własna (kod "wewnętrzny") czy ktoś słyszał o takiej notacji i wytłumaczy o co chodzi i jak ją zapisać?

0

Ale w sensie że chcesz zaimplementować liczby zmiennoprzeciekowe na architekturze która natywnie nie wspiera licz zmiennoprzecinkowych?

0
KamilAdam napisał(a):

Ale w sensie że chcesz zaimplementować liczby zmiennoprzeciekowe na architekturze która natywnie nie wspiera licz zmiennoprzecinkowych?

tak, które nie mają wbudowanego koprocesora operacji zmiennopozycyjnych

2

Kompilator SDCC (Small Device C Compiler) wykorzystuje gotowe biblioteki implementujące liczby zmiennoprzecinkowe float, ponieważ procesory, na które kompiluje kod, nie wspierają liczb zmiennoprzecinkowych. Te biblioteki powinny być zaimplementowane w plikach nagłówkowych instalowanych razem z tym kompilatorem.

2

Warto też, moim zdaniem, solidnie rozważyć wykorzystanie positów zamiast IEEE 754 („normalnych” floatów), skoro i tak trzeba coś implementować od zera.

3

Rozwiązań jest całą masa, wszystko zalezy od tego:

  • Czy chcesz żeby to było rozwiązanie tylko teoretyczne do zaprezentowania na studia?
  • Czy będziesz miał potrzebę to samodzielnie zaimplementować? A jeśli tak to czy:
    • Chcesz precyzyjne liczby zmienno przecinkowe działające w maksymalnie dużym zakresie i maksymalnie precyzyjne?
    • Czy chcesz szybkie liczby zmienno przecinkowe działające w jakimś wąskim zakresie? (embedded procesory często są wolne i trzeba preferować szybkość nad precyzję)

Jak kiedyś przeglądałem sposoby implementacji liczb zmienno przecikowych to oprócz klasycznego IEEE_754 znalazłem jeszcze:

  • Decimal floating point - nowy fragment IEEE_754, może być łatwiej zaimplementować konwersje
  • FLIP, a Floating-Point Library for Integer Processors - cały czas zbieram się żeby to przeczytać i może kiedyś zaimplementować w swoim pet kompilatorze
  • Real48 - odszukać więcej informacji o typie real 48. Był używany w starym Pascalu w czasach przed koprocesorem, ale przeglądając bardzo stare kody w C widziałem że były na ten typ makra porobione. Nazwa nawiązuje do tego że tym zajmował 48 bitów (6 bajtów). Chyba 16 bitów na wykładnik i 32 bity na mantyse

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