eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingStruktura do przydzielania numerkówRe: Struktura do przydzielania numerków
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: Borneq <b...@a...hidden.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Struktura do przydzielania numerków
    Date: Fri, 4 Dec 2015 16:17:10 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 38
    Message-ID: <n3sapd$trt$1@node1.news.atman.pl>
    References: <n3s6h0$itv$1@node2.news.atman.pl> <n3s7d4$js6$1@node2.news.atman.pl>
    <3...@g...com>
    NNTP-Posting-Host: 91.239.205.105
    Mime-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node1.news.atman.pl 1449242221 30589 91.239.205.105 (4 Dec 2015 15:17:01
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Fri, 4 Dec 2015 15:17:01 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101
    Thunderbird/38.4.0
    In-Reply-To: <3...@g...com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:208954
    [ ukryj nagłówki ]

    W dniu 2015-12-04 o 15:51, Adam M pisze:
    > Dlaczego struktura bitowa raczej unia struktory bitowej z odpowiadajacym unsigned
    int lub unsigned long - to jest standardowe rozwiazanie np przy programowaniu MCUs
    > Aby znalezc wolny bit niezaleznie od zajetosci potrzeba cztery podzialy 32, 16, 8,
    4 i 4 rolowania w najgorszym przypadku przy 32 bit int i 5 podzialow i 4 rolowania
    przy 64 bit long.

    Jak wykonywać te podziały? zwykle przy połowie słowa liczy się tylko to
    młodsze.
    czy będzie to tak a wewnątrz procedura inline szukaj_przesuwajac
    używająca << maksymalnie 4 razy?
    uint32_t mask
    if(mask)
    {
    if (mask & 0x0000ffff) //16 młodszych
    {
    if (mask & 0x000000ff) //8 najmłodszych
    {
    if (mask & 0x0000000f) szukaj_przesuwajac
    else szukaj_przesuwajac
    }
    else
    {
    if (mask & 0x00000f00) szukaj_przesuwajac
    else szukaj_przesuwajac
    }
    }
    else
    {
    if (mask & 0x00ff0000) //8 najmłodszych
    {
    if (mask & 0x000f0000) szukaj_przesuwajac
    else szukaj_przesuwajac
    }
    else
    {
    if (mask & 0x0f000000) szukaj_przesuwajac
    else szukaj_przesuwajac
    }
    }
    }

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: