-
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
- Czy cos fi przechodzi przez trafo separujące?
- śrubka masy
- Ciekawostka na dziś lock bity
- [OT] napisy w YT
- Było 83V
- Stare komputery
- Odbiornik ADS-B i wzmacniacze
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML