Article View: pl.comp.lang.c
Article #1041Re: Operacje na bitach
From: Karpierz
Date: Thu, 29 Jan 1998 11:45
Date: Thu, 29 Jan 1998 11:45
37 lines
1789 bytes
1789 bytes
Marek Kotowski <mkot@imm.org.pl> napisal [...] > First things first: mnie nie chodzilo o uniwersalnosc > (o tym nizej), ale zeby rzecz zapisac w postaci > makroinstrukcji, a nie operacji przypisania. W dodatku > uzyl Pan nazwy SET_ALL_BITS, co jest forma czasownikowa Jezyk angielski znam bardzo slabo. Moze byc ALL_BITS ? :) [...] > 2. Rozsadne tez jest (chociaz nie zawsze tak robilem) > odseparowac te tablice od reszty programu. Dostep > do tablicy realizowany jest przez zestaw funkcji > manipulacji na bitach: > > void SetBit(int Bit); > void ClearBit(int Bit); > int IsBitSet(int Bit); > void SwitchBit(int Bit); > void SetAllBits(void); > void ClearAllBits(void); Wszystko pieknie, tylko ze zazwyczaj masek bitowych uzywa sie tak gdzie efektywnosc jest wazna, a koszt wywolania funkcji moze byc niekiedy zbyt duzym balastem w stosunku do efektu (ustawienia bitu). I jeszcze jedna wada w tym kontekscie. Aby ustawic lub skasowac kilka bitow jednoczesnie trzeba kilkukrotnie wywolac odpowiednie funkcje. -- Pozdrawiam Adam Karpierz mailto:karpierz@intertele.pl http://www.intertele.pl/users/karpierz
Technical Details
Message-ID:
<01bd2cab$6bebfee0$8cbaccc2@karpierz.dyn.ml.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mailReferences:
<34D0605D.5843@imm.org.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mail From: "Karpierz" <karpierz@inter.intertele.pl> Newsgroups: pl.comp.lang.c Subject: Re: Operacje na bitach Date: 29 Jan 1998 11:45:12 GMT Organization: Technical University of Wroclaw, Poland Lines: 37 Message-ID: <01bd2cab$6bebfee0$8cbaccc2@karpierz.dyn.ml.org> References: <34D0605D.5843@imm.org.pl> NNTP-Posting-Host: ppp140.intertele.pl X-Newsreader: Microsoft Internet News 4.70.1161 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit