Thread Frage zum Bitweisen AND (4 answers)
Opened by RoperC at 2008-11-21 19:31

RoperC
 2008-11-21 19:31
#116499 #116499
User since
2008-11-21
6 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich mach noch nicht sehr lange Perl und habe bei der Verwendung vom Bitweisen AND Operator ein Problem.
Folgendes Szenario. Ich habe ein Programm in dem 2 Zahlen eingetragen werden und anschließen sollen diese Bitweise AND verknüpft werden.

Allerdings bekomme ich da teilweise ganz falsche Ergebnisse.
Hier der Code:

Code: (dl )
1
2
3
4
5
6
7
print "Geben Sie eine Zahl ein: ";
chomp($i = <STDIN>);
print "Geben Sie eine Zahl ein: ";
chomp($j = <STDIN>);

print "\n";
print $j & $i;


Ich habe dann mal etwas rumgegoogelt, ob ich vielleicht ein Grundlegendes Verständnisproblem habe und bin dabei auf ein Anwendungsbeispiel gestoßen bei dem die Zahlen mit printf als 8stellige Binärziffern ausgegeben werden.
Wenn ich meinen Code jetzt in dieser Form hier abändere funktionierts:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
print "Geben Sie eine Zahl ein: ";
chomp($i = <STDIN>);
print "Geben Sie eine Zahl ein: ";
chomp($j = <STDIN>);

printf("%08b", $i);
print "\n";
printf("%08b", $j);

print "\n";
print $j & $i;


Mir ist dabei nur total unbegreiflich warum. Liegt der Fehler vielleicht schon bei der Verwendung von chomp?
(Ein Ergebnis ist z.B. 000 bei den Zahlen 255 und 128)

View full thread Frage zum Bitweisen AND