🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #1091

Re: Operacje na bitach

#1091
From: Marek Kotowski
Date: Fri, 30 Jan 1998 14:56
40 lines
2045 bytes
milosz danielewski wrote:
> >I np. ustawienie N-tego bitu (makroinstrukcja):
> >
> >#define SET_BIT(N) (Bits[N/CHAR_BIT] |= (1 << \
> >    N%CHAR_BIT))
> >
> >3. Jesli program wymaga kilku tablic bitow ustawianych/
> >testowanych osobno, mozna wprowadzic funkcje alokujaca
> >tablice bitow:
> >
> >BIT_ARRAY *AllocBitArray(int NumberOfBits);
> 
>  I wlasnie w ten sposob powstaja w pelni przenosne kobyly powolne jak
> nagla krew ! Implementacja bitow na tablicy bajtow ! O tempora, o
> mores !

1. Co do przenosnosci: dotyczyly tego tylko dwie sprawy:
   stala CHAR_BIT (char moze miec wiecej bitow niz 8) oraz
   obudowanie funkcji operujacych na bitach, a takze na
   owych strukturach BIT_ARRAY. Jest to wprawdzie technika
   z dziedziny programowania obiektowego, ale programisci
   kodujacy w C czesto ja stosuja. Tablica bajtow sama w
   sobie nie jest zadna szczegolnie przenosna konstrukcja.

2. Operacja opisana za pomoca makroinstrukcji SET_BIT(N)
   jest bardzo szybka (jedno wyrazenie zmiany elementu tablicy).
   Ale rozumiem, ze to dla Pana zbyt powolne.

3. Bardzo prosze opisac nam, jak Pan by "zaimplementowal bity"
   (Panski termin) inaczej niz za pomoca tablicy zmiennych
   integralnych (mozna tu tez uzyc int)), zeby w dodatku operacje
   na bitach wykonywaly sie znacznie szybciej.

   Mowa oczywiscie o tablicach kilkudziesieciu, kilkuset czy
   nawet kilku tysiecy bitow.


   Pozdrawiam

   Marek Kotowski
Technical Details
Message-ID: <34D1EA01.56EA@imm.org.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!not-for-mail
References: <34D0605D.5843@imm.org.pl> <34d0acbb.1907122@news.icm.edu.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!news.nask.pl!not-for-mail
From: Marek Kotowski <mkot@imm.org.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Operacje na bitach
Date: Fri, 30 Jan 1998 15:56:01 +0100
Organization: Instytut Maszyn Matematycznych
Lines: 40
Message-ID: <34D1EA01.56EA@imm.org.pl>
References: <34D0605D.5843@imm.org.pl> <34d0acbb.1907122@news.icm.edu.pl>
NNTP-Posting-Host: 148.81.238.53
Mime-Version: 1.0
X-Mailer: Mozilla 3.01Gold (Win95; I)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit