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



Teraz jest 13 gru 2024, o 04:11


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 1 gość


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO