Wpis z mikrobloga

Chciałbym zapisać w 2B (bajtach) floata. Wiem, że ten typ danych ma rozmiar 4B, jednak interesuje mnie precyzja do dwóch miejsc po przecinku (powiedzmy przedział -1.00 do 1.00) i oszczędność pamięci. Czy jest jakiś elegancki sposób na zapis takiej informacji w ten sposób?

Można dodać 1 i np. pomnożyć wartość przez 100, a później zrobić to w odwrotny sposób by odzyskać informację, ale to dosyć prymitywne rozwiązanie.

#programowanie #cpp
  • 7
@Kaczus2B: na 2 bajtowym floacie nie przeprowadzisz żadnych obliczeń, bo procesory tego nie obsługują.

W ogóle po co ci ta oszczędność 2 bajtów, wygląda mi to na XY problem.

The XY problem is asking about your attempted solution rather than your actual problem. This leads to enormous amounts of wasted time and energy, both on the part of people asking for help, and on the part of those providing help.
@mrslug: Niektóre ARMy oraz wiekszość procesorów GPU obsługuje HalfFloat, a nawet zwykłe procki teraz obsługują wektorową konwersję tego typu. Jest sporo bibliotek do tego typu i często się go wykorzystuje w grafice komputerowej.

@wykoszonytrawnik: Opowiedz coś o danych które przesyłasz. Jeżeli są to dane z ADC w mikro kontrolerze to obawiam się że nie mają więcej niż 12bitów rozdzielczości. A jeżeli na mikro kontrolerze wstępnie obrabiasz te dane i
@mrslug: nie mi potrzebna, tylko komuś, nie wiem po co, ja tylko zwracam uwagę, że jeśli np na zajęcia potrzebował implementować taki rodzaj zmiennej, to mu odpowiedz nie pomoże.