Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 7 kwi 2025, o 01:04


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 5 lut 2016, o 13:20 
    Offline
    Użytkownik

    Dołączył(a): 18 sty 2015
    Posty: 170
    Pomógł: 0

    Cześć.

    Obliczam resztę crc32 ze stringu '123' w dwóch różnych środowiskach i dostaję różne odpowiedzi.

    Program w C++

    Kod:
    #include <boost/crc.hpp>
    #include <string>
    #include <iostream>
    #include <algorithm>

    int main()
    {
       const std::string str = "123";
       boost::crc_32_type crc32;
       crc32 = std::for_each(str.begin(), str.end(), crc32);
       std::cout << crc32() << std::endl;
    }


    Wyliczenie crc32 jest takie:

    Obrazek


    Tymczasem po stronie mikrokontrolera (środowisko Bascom)

    Obrazek

    wyliczone crc32 to: 494976085

    Ma ktoś koncepcję na to, które środowisko się myli / dlaczego nie dostaję zgodnych wyników?

    ------------------------ [ Dodano po: 8 minutach ]

    Właśnie namierzyłem kalkulator crc32 online: https://www.tools4noobs.com/online_php_functions/crc32/

    Obrazek

    Obrazek

    Wychodzi więc na to, że to Bascom się myli...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lut 2016, o 21:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Sama nazwa CRC32 nie definiuje w pełni metody wyliczania. Musisz mieć ten sam wielomian oraz taką samą wartość startową. Dlatego żadna z użytych metod nie musi być błędna. Tylko pewnie używają innych parametrów (wielomianu).
    Obrazek
    Co ciekawe to dla CRC32 nie ma aż takiego "bałaganu" jak dla na przykład CRC16, gdzie popularnie używanych jest kilka wersji. Najbardziej popularną wersją CRC32 jest wersja używana przez sieci Ethernet. Pod linkiem http://www.zorc.breitbandkatze.de/crc.html masz zaawansowany kalkulator i możesz potestować wyniki CRC z różnymi parametrami (na stronie wikipedii masz podane wartości polynomial https://en.wikipedia.org/wiki/Cyclic_redundancy_check dla róznych wersji).

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO