Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

bitmask

Diskussion: bitmask im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige hallo liebe community, ich habe folgendes problem: Beispiel: Code: int a = 8191; // 1+2+4+8+16+32+64+128+256+512+1024+2048+4096 wie bekomm ich anhand ...

Antwort
Alt 24.08.08, 16:10   #1 (permalink)
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard bitmask

Anzeige

hallo liebe community,

ich habe folgendes problem:

Beispiel:

Code:
int a = 8191; // 1+2+4+8+16+32+64+128+256+512+1024+2048+4096
wie bekomm ich anhand der zahl 8191 nun heraus ob zum beispiel die zahl 64 drin ist?
bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 24.08.08, 16:17   #2 (permalink)
 
Registriert seit: 24.01.06
Janus Leistung: Facit NTK
Janus eine Nachricht über ICQ schicken
Likes: 0
Standard

wandel das Ding in ne Binärzahl um und schau nach, ob an der 7ten Stelle ne 1 steht?
Janus ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 24.08.08, 17:11   #3 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

Umwandeln musst du da nix, die Zahl wird "intern" sowieso binär repräsentiert.
Du musst lediglich die Zahl mit einer Bitmaske, die genau 64 ist, AND-verknüpfen, und dann testen, ob das Ergebnis ungleich 0 ist (bzw. größer, gleich 64, was auch immer). Ist das Ergebnis gleich 0, dann ist die 64 nicht enthalten (also das 7. Bit = 0).

/edit: Doch mal bissl Code,,
Code:
int foo = 8191;
int mask = 64;
int foo_and_mask = foo & mask;
foo_and_mask hat jetzt 2 mögliche Werte, entweder 64, wenn foo (hier: 8191) die 64 enthält, oder 0, wenn es 64 nicht enthält.
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 24.08.08, 17:45   #4 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
oder als boolean:
boolean foo_and_mask = ((foo & mask) > 0);

Sofern Java soetwas erlaubt.
Elderan ist offline   Mit Zitat antworten
Alt 24.08.08, 19:12   #5 (permalink)
 
Registriert seit: 24.01.06
Janus Leistung: Facit NTK
Janus eine Nachricht über ICQ schicken
Likes: 0
Standard

tut es.
Janus ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » bitmask
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61