Hallo,
der Benutzer kann eine Lagerplatznummer reservieren auf einem LKW-Anhänger. Jeder Anhänger hat 128 Lagerplätze zur Verfügung von 1 - 128. Ist ein Lagerplatz belegt = 1 , frei = 0
Nun frage ich mich, ob ich
1. ein Array mit 128 int werten reservieren soll z.B.
oder
2. ein Array mit 4 int Werten
Ersteres wäre zwar geschickt da die Lagerplatznummer dem Index des Arrays entspräche doch dann müsste ich auch alle 32 bits von der einer Array variablen setzen, testen, löschen -> Ressourcenverschwendung.
Letzeres birgt das Problem dass ich nicht weiß, wenn der Benutzer z.B. Lagerplatz 73 eingibt, wie ich genau das Bit an an der Position 73 auf 1 setze , denn die Zahl 73 ist binär dargestellt nicht:
Wie kann ich also genau das Bit 73 setzen sodass die restlichen bits unangetastet bleiben, denn die dezimahlzahl 73 ist binär ja
*rechne nach* 01001001 (64+8+1) doch 01001001 entspricht halt nicht obigem bit 73...![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
der Benutzer kann eine Lagerplatznummer reservieren auf einem LKW-Anhänger. Jeder Anhänger hat 128 Lagerplätze zur Verfügung von 1 - 128. Ist ein Lagerplatz belegt = 1 , frei = 0
Nun frage ich mich, ob ich
1. ein Array mit 128 int werten reservieren soll z.B.
C++:
int iArrayLagerplatz[128]
oder
2. ein Array mit 4 int Werten
C++:
int iArrayLagerplatz[4]
Ersteres wäre zwar geschickt da die Lagerplatznummer dem Index des Arrays entspräche doch dann müsste ich auch alle 32 bits von der einer Array variablen setzen, testen, löschen -> Ressourcenverschwendung.
Letzeres birgt das Problem dass ich nicht weiß, wenn der Benutzer z.B. Lagerplatz 73 eingibt, wie ich genau das Bit an an der Position 73 auf 1 setze , denn die Zahl 73 ist binär dargestellt nicht:
Code:
Array index [0]: 00000000 00000000 00000000 00000000 = 32 bit
Array index [1]: 00000000 00000000 00000000 00000000 = 32 bit kumuliert: 64 bit
Array index [2]: 00000000 10000000 00000000 00000000 = 32 bit wobei das 73 bit gesetzt ist.
Wie kann ich also genau das Bit 73 setzen sodass die restlichen bits unangetastet bleiben, denn die dezimahlzahl 73 ist binär ja
*rechne nach* 01001001 (64+8+1) doch 01001001 entspricht halt nicht obigem bit 73...
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)