eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPoczątek zabawy z bascomem › Re: Początek zabawy z bascomem
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: janusz_kk1 <j...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Początek zabawy z bascomem
    Date: Wed, 09 Feb 2011 10:05:50 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 81
    Message-ID: <op.vqmov0p11cvm6g@jk-laptop>
    References: <4d510385$0$2437$65785112@news.neostrada.pl>
    <iirssc$rmg$1@inews.gazeta.pl> <iirtvb$7o5$1@news.onet.pl>
    <iis4f2$crp$1@opal.futuro.pl> <op.vqlpstzr1cvm6g@jk-laptop>
    <iisafo$r9r$1@news.onet.pl> <op.vqlsg11i1cvm6g@jk-laptop>
    <iisdab$75b$1@news.onet.pl>
    Reply-To: j...@o...pl
    NNTP-Posting-Host: 77.252.190.93
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
    Content-Transfer-Encoding: Quoted-Printable
    X-Trace: inews.gazeta.pl 1297242352 6574 77.252.190.93 (9 Feb 2011 09:05:52 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 9 Feb 2011 09:05:52 +0000 (UTC)
    X-User: janusz_kk1
    User-Agent: Opera Mail/11.01 (Linux)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:604458
    [ ukryj nagłówki ]

    Dnia 08-02-2011 o 22:41:36 Michoo <m...@v...pl> napisał(a):

    > 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);
    Juz Adamowi odpowiedziałem, gdzieś ostatnio w kodzie znalazłem taką perełkę
    ale nie mogę jej znaleść, ten przykład co dałem był akurat prosty,
    ale skłądanie kilku operacji w jednej lini skutecznie ją zaciemnia.
    Ja sobie piszę komentarze co dana linia robi, ale z cudzym kodem jest
    problem bo trzeba sie zastanowić.


    --
    Pozdr
    JanuszK

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: