Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » struct Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.04.2011, 17:53 Uhr
bandchef



Hi Leute!

Ich soll einen struct Bitvector machen. Mit diesem struct soll ich beliebig lange Bitketten speichern können. Jetzt kommt was ich nicht verstehe. "Die Bits sollen tatsächlich als einzelne Bits gespeichert werden." Man soll hierfür den Datentyp char benutzen der ja aus 8 Bit = 1Byte besteht. Nun soll ich folgende Funktion bereitstellen, die mir einen n-breiten Bitvector erzeugt.

Ich hab schon mal so angefangen:


C++:
#include<iostream>
using namespace std;



struct bitvector
{
    char bitVektor;        //deklaration der Membervariable
};



void createBitVector()
{

}



int main()
{



    return 0;
}



Was ich nun hier nicht verstehe, ist, wie man beim Typ char auf die tatsächlichen einzelnen Bits zugreifen kann und vor allem dann auch verändern kann.

Könnt ihr mir das erklären?

Dieser Post wurde am 19.04.2011 um 19:55 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.04.2011, 01:19 Uhr
0xdeadbeef
Gott
(Operator)


In einen einzelnen char kriegst du nur 8 Bit rein. Unter der Annahme, dass der Vektor beliebige Längen annehmen können soll, musst du dynamisch genug Speicher dafür verwalten.

Was das kompakte Speichern angeht, so werden Bitshifts etc. gemeint sein. Für das fünfzehnte Bit wirst du also das siebte Bit im zweiten char benutzen sollen. Ich werde dir deine Hausaufgabe nicht lösen, aber so viel sei gesagt: Schau dir die Operatoren <<, >>, |, & und ^ an, die wirst du dazu brauchen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: