SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

SOFTWARE
char *set = calloc((bits + CHAR_BIT - 1) / CHAR_BIT, sizeof(char)); return set; } /* Wert eines bestimmten Bits lesen * Rueckgabewert: 0 oder 1 * Bei Betrachtung als Menge: * 1: Element ist enthalten * 0: Element ist nicht enthalten */ int liesbit(char *set, int number) { set += number / CHAR_BIT; return (*set & (1 << (number % CHAR_BIT))) != 0; } /* ein bestimmtes Bit setzen * Bei Betrachtung als Menge: * 1: Element der Menge hinzufuegen * 0: Element aus der Menge entfernen */ void setzebit(char *set, int number, int value) { set += number / CHAR_BIT; if (value) *set |= 1 << (number % CHAR_BIT); /* set bit */ else *set &= ~(1 << (number % CHAR_BIT)); /* clear bit */ } /* ein bestimmtes Bit invertieren * (0 -> 1 bzw. 1 -> 0 */ void invertbit(char *set, int number) { set += number / CHAR_BIT; *set ^= 1 << (number % CHAR_BIT); } /* Schnittmenge von set1 und set2 berechnen * (bitweise UND-Verknuepfung) * Rueckgabewert in set3 * Der Parameter 'bits' muss den gleichen Wert wie bei * 'alloc_bitarray' haben! */ void schnitt(char *set1, char *set2, char *result, size_t bits) { int i; for (i = 0; i <= (bits + CHAR_BIT - 1) / CHAR_BIT; i++) { *result = *set1 & *set2; result++; set1++;set2++; } } /* Vereinigungsmenge von set1 und set2 berechnen * (bitweise ODER-Verknuepfung) * Rueckgabewert in set3 * Der Parameter 'bits' muss den gleichen Wert wie bei * 'alloc_bitarray' haben! */ void vereinigung(char *set1, char *set2, char *result, size_t bits) { int i; for (i = 0; i <= (bits + CHAR_BIT - 1) / CHAR_BIT; i++) { *result = *set1 | *set2; result++; set1++;set2++; } } /* Bitweise Ausgabe einer Menge (0 oder 1) * Der Parameter 'bits' muss den gleichen Wert wie bei * 'alloc_bitarray' haben! */ void print_bitarray(char *set, size_t bits) { int i, j; for (i = 0; i < (bits + CHAR_BIT - 1) / CHAR_BIT; i++) { for (j = 0; j < CHAR_BIT; j++) if (*set & (1 << j)) putchar('1'); else putchar('0'); set++; } putchar('\n'); } /* Testprogramm */ int main () { char *Menge1, *Menge2, *Menge3; Menge1 = alloc_bitarray(40); Menge2 = alloc_bitarray(40); Menge3 = alloc_bitarray(40); setzebit(Menge1,0,1); setzebit(Menge1,7,1); setzebit(Menge1,20,1); setzebit(Menge1,39,1); setzebit(Menge2,0,1); setzebit(Menge2,8,1); setzebit(Menge2,21,1); setzebit(Menge2,39,1); printf(" 1 2 3 4\n"); printf("01234567890123456789012345678901234567890\n"); print_bitarray(Menge1,40); print_bitarray(Menge2,40); schnitt(Menge1, Menge2, Menge3,40); print_bitarray(Menge3,40); vereinigung(Menge1, Menge2, Menge3,40); print_bitarray(Menge3,40); return 0; }

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere