Witam ! Dokonuje odczytu temperatury z ds18b20. Otrzymuje dwa bajty danych. Te bajty to nie są takie normalne bajty, bo jak wiecie pierwsze 4 bity młodszego bajtu, to część ułamkowa, 5 najstarszych bitów starszego bajtu to znak, a cała reszta, to temperatura, gdzie najmłodszy jej bit ma wagę 2^0. Teraz mam problem jak dokonać konwersji. Bo jak użyję konwersji na np. system dziesiętny, to w młodszym bajcie potraktuje kompilator najmłodszy bit jako 2^0 a tak nie jest bo tam jest waga 2^-4. Mogę teoretycznie czytać każdy z młodszych bitów i ręcznie liczyc wartość ułamkową, potem wartość całkowitą i sprawdzić znak. Powiedzcie mi, czy to jest dobre podejście (pewnie bym to zrobił w pętli licząc kolejne potęgi)czy istnieje jakiś sprytniejszy sposób, żeby odciąć te 4 młodsze bity i policzyć część ułamkową i potem całkowitą, bez takiego brute force. Dzięki jeszcze raz z góry za pomoc !
