-
Data: 2011-02-08 21:41:36
Temat: Re: Początek zabawy z bascomem
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 08.02.2011 22:25, janusz_kk1 pisze:
> Dnia 08-02-2011 o 21:53:16 Michoo <m...@v...pl> napisał(a):
>
>> W dniu 08.02.2011 21:27, janusz_kk1 pisze:
>>> Dnia 08-02-2011 o 20:10:26 Lelek@ <n...@n...pl> napisał(a):
>>>> Ale co jest w C takiego trudnego? Przecież to jest intuicyjny język.
>>> Jasneeee :)
>>> Tak na szybko ci znalazłem:
>>> c_size_mul = ((MMC_Data_16[9] & 0x03) * 2) + ((MMC_Data_16[10] >> 7) &
>>> 0x01);
>>> powiesz mi zgłowy co się w jakiej kolejności robi?
>> Co robi widać na pierwszy rzut oka. Kolejność jest nieistotna i może
>> się zmienić.
>
>>
>>> N o ile ci to zajęło?
>> Z 1.5 .. 2 sec?
> No to co najmniej o 1,5sek za długo, pomyśl teraz że takich linijek masz
> wiecej, tracisz dużo czasu na analizę, przy prostym kodzie analizujesz
> kilkakrotnie szybciej.
Składanie wartości binarnej leżącej w dziwnym miejscu nie jest "proste"
samo w sobie.
Przy "prostym" kodzie zapisanym równie nieintuicyjnie byłoby gorzej -
trzeba by przeanalizować kilka linii, pojąć ich sens a potem pojąć sens
całości. No chyba, że dasz przykład takiego "prostego" kodu?
>> Chociaż dłuższa analiza pozwala się oczywiście zastanawiać czy *2 nie
>> powinno być dla konsekwencji zapisane jako przesunięcie binarne
> Kompilator i tak to zoptymalizuje.
Ale tu chodzi o zapis a nie o optymalizację.
Kod zajmuje się złożeniem wartości z bitów leżących "na przełomie"
bajtu. Operuje na poziomie bitów więc | jest znacznie bardziej
intuicyjny niż +, który sugeruje operację matematyczną a nie logiczną.
Tak samo wartość ma być _przesunięta o jeden bit_ względem początkowej a
nie _dwa razy większa_.
c_size_mul = ((MMC_Data_16[9] << 1) & 0b110) | (MMC_Data_16[10] >> 7) &
0b001);
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 08.02.11 21:44 Adam Dybkowski
- 08.02.11 21:50 Adam Dybkowski
- 08.02.11 22:52 Lelek@
- 08.02.11 23:01 Lelek@
- 08.02.11 23:19 neuron
- 09.02.11 00:03 sundayman
- 09.02.11 07:31 Adam
- 09.02.11 09:03 janusz_kk1
- 09.02.11 09:05 janusz_kk1
- 09.02.11 09:32 J.F.
- 09.02.11 09:33 4CX250
- 09.02.11 09:56 RoMan Mandziejewicz
- 09.02.11 10:16 4CX250
- 09.02.11 10:45 RoMan Mandziejewicz
- 09.02.11 10:50 4CX250
Najnowsze wątki z tej grupy
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
Najnowsze wątki
- 2026-01-07 POCO
- 2026-01-07 Kraków => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-07 Kraków => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2026-01-06 I kolejny
- 2026-01-06 Retro organizer ale współcześnie
- 2026-01-06 Bowling
- 2026-01-06 Cyganie
- 2026-01-06 Rozwód w Santanderze z prostokątną kobietą...
- 2026-01-06 Skąd diody LED 1,5V?
- 2026-01-06 Nowum!!! -- Moje ID
- 2026-01-06 Metoda na fotoradar
- 2026-01-05 I jeszcze jeden
- 2026-01-05 Jaworek;)
- 2026-01-05 Warszawa => Project Manager (AI and innovation) <=
- 2026-01-05 Gdańsk => Konsultant ERP Microsoft Dynamics 365 Commerce <=




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]