Operatoren Der Tide Operator und positive Ganzzahlen in Binär

ubaro1

Neues Mitglied
Hallo,
ich habe eine Frage wegen dem Tide-Operator ( ~ ). Seine Aufgabe ist es doch zu negieren oder? Das hab ich also so zu verstehen: Nullen werden Einsen und umgekehrt. Evtl liegts daran das ich ne fehlerhafte Tabelle benütze (hier ihr link: Tabelle der Binärzahlen von 0 bis 255) aber
Wenn:
Java:
class TideTest
{
public static void main(String args[])
{
byte a= 17;
int c;
c= ~17;
System.out.println(c);
}}
Dann müsste c == 14 sein.
weil:
17 in binär ist 10001 negiert ist es dann 01110 die Null fällt weg** also 1110 was ja der Code für 14 ist.
Man bekommt aber -18. Also statt zu negieren wird (n - (n * 2)) -1 gemacht.
Allerdings besteht ein byte ja aus 8 bit womit bei 10001 drei Stellen fehlen würden daher die Frage ob meine Tabelle unzulänglich ist.
Bei dem Tutorial das ich gerade mach wurde 11101110 angegeben das wäre dann laut Tabelle 238.
** Wie ich darauf komme das die Null (oder überflüssige nullen) einfach weggelassen wird/werden:
Beim rumprobieren mit Operatoren und verschiedenen Werten zb.
Java:
class OperatorTest
{
public static void main(String args[])
{
byte a=13; // Binäre-Code für 13 == 1101
byte b=14; // Binäre-Code für 14 == 1110
int c;
c=a ^ b; //Das Ergebnis wäre also 0011 also 11; der Binäre-Code für 3
System.out.println(c);
}}
und weil es da und bei anderen Beispielen auch so war, den Anschein zumindest hatte, nahm ich an das es so läuft. Das überflüssige Nullen einfach wegfallen.

Viel gelaber und keine klare Frage... aber meine Fragen sind: wieso wird im Tutorial dieser Wert angegeben 11101110, was ist dieser Wert in int, gibt es irgendwo eine Liste die für Java besser geeignet ist, fallen "nutzlose" Nullen wirklich einfach weg und gibt es eine Methode mit der ich int-Werte als binären Code ausgeben kann und umgekehrt.

Dann schon mal Danke :popcorn:
 

Thallius

Top Contributor
Das ist ein Java Problem. Java kennt keine vorzeichenlosen (unsigned) variablen. Damit kann ein byte mit 8 bit nur die Zahlen -128 bis 127 darstellen. Das höchste bit ist dabei immer das Vorzeichenbit. Das beduetet wenn das gesetzt ist, dann ist die Zahl negativ. Genau das passiert halt wenn du

00010001 (17) negierst. Du erhälst wie erwartet: 11101110. Das höchste Bit ist also gesetzt damit ist die Zahl negativ und zwar -18.

Um mit Java solche Operationen zu machen muss man tricksen. Du müßtest in Deinem Fall nicht byte alls Variabltentyp nehmen sondern int und jedesmal vor der Ausgabe ein variable&=0xFF machen um nur die unteren 8 bits zu maskieren.

Gruß

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
C ?: Operator Java Basics - Anfänger-Themen 14
L Java operator % Java Basics - Anfänger-Themen 3
KogoroMori21 Erklärung zum Ternären Operator Java Basics - Anfänger-Themen 4
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
L Modulus Operator Java Basics - Anfänger-Themen 3
A Zuweisungen und -- operator; Java Basics - Anfänger-Themen 2
H << Operator Java Basics - Anfänger-Themen 7
F RegEx "+" nur als Zeichen, nicht als Operator oder Sonstiges Java Basics - Anfänger-Themen 2
H Operatoren Der bedingte Operator ? : ; Java Basics - Anfänger-Themen 2
J new-Operator Java Basics - Anfänger-Themen 6
H this operator - was ist das? Java Basics - Anfänger-Themen 2
R Operatoren Bad operand types for binary operator Java Basics - Anfänger-Themen 4
O Bedingter Operator eine Frage! Java Basics - Anfänger-Themen 10
O Erste Schritte x*y*z mit Shift Operator moeglich? Java Basics - Anfänger-Themen 15
L Operatoren error: bad operand types for binary operator && Java Basics - Anfänger-Themen 8
E Methoden in new-Operator Methode in geschweifter Klammer Java Basics - Anfänger-Themen 3
I bad operand types for binary operator > Java Basics - Anfänger-Themen 5
D Conditional Operator ?: Java Basics - Anfänger-Themen 3
L Operatoren Übungsklausuraufgabe, unbekannter Operator Java Basics - Anfänger-Themen 13
H Operatoren Fehler bad operand types for binary operator Java Basics - Anfänger-Themen 7
snipesss Operator "-" is undefined Java Basics - Anfänger-Themen 1
F Operatoren If mit variabelem Operator Java Basics - Anfänger-Themen 2
J instanceof Operator Java Basics - Anfänger-Themen 3
K Operatoren The Operator * is undefined for the argument type(s) double, String Java Basics - Anfänger-Themen 4
J Operator * benutzen Java Basics - Anfänger-Themen 3
DeVolt Operatoren Frage zum new-Operator Java Basics - Anfänger-Themen 4
N Methoden Modulo Operator Java Basics - Anfänger-Themen 1
S Operatoren ! Operator Java Basics - Anfänger-Themen 4
O Operator undefined Java Basics - Anfänger-Themen 2
N this-Operator Java Basics - Anfänger-Themen 2
S Hashcode - Operator ^ Java Basics - Anfänger-Themen 11
M Shift Operator Java Basics - Anfänger-Themen 3
V XOR-Operator? Java Basics - Anfänger-Themen 5
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
J bad operand types for binary operator Java Basics - Anfänger-Themen 3
T Pixelmanipulation Sobel-Operator Java Basics - Anfänger-Themen 2
K Frage zu Class Operator Java Basics - Anfänger-Themen 2
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
C Operatoren | - Operator Java Basics - Anfänger-Themen 10
K .Class Operator unklar Java Basics - Anfänger-Themen 3
B Operator | Java Basics - Anfänger-Themen 11
R Compiler-Fehler Operator + nicht erlaubt? Java Basics - Anfänger-Themen 6
C Was tut der | Operator? Java Basics - Anfänger-Themen 8
K Polymorphie und instanceOf Operator Java Basics - Anfänger-Themen 6
S Objekt Erzeugung ohne new Operator Java Basics - Anfänger-Themen 6
C Logischer UND Operator funktioniert nicht richtig Java Basics - Anfänger-Themen 5
H Buch: Java lernen mit BlueJ Modulo-Operator Java Basics - Anfänger-Themen 16
K Conditional Operator Java Basics - Anfänger-Themen 16
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
A Operator in Java Java Basics - Anfänger-Themen 11
S Modulo Operator Java Basics - Anfänger-Themen 8
C Variablen Problem: variable operator might not have been initialized Java Basics - Anfänger-Themen 9
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
K OOP Wertebereich Ergebnis von % Operator Java Basics - Anfänger-Themen 8
L Frage zu Konstruktoren und dem this Operator Java Basics - Anfänger-Themen 16
R Ersatz für Modulo Operator Java Basics - Anfänger-Themen 8
W &-Operator in diesem Zusammenhang Java Basics - Anfänger-Themen 19
J Oder-Operator Tastenkürzel Java Basics - Anfänger-Themen 7
K Cast-Operator Java Basics - Anfänger-Themen 3
D Bit-Operator & Java Basics - Anfänger-Themen 5
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
V Cast-Operator Java Basics - Anfänger-Themen 2
G super operator und incompatible types, simple fehler Java Basics - Anfänger-Themen 8
N Operator aus Array lesen Java Basics - Anfänger-Themen 2
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
M Binärdarstellung in Java mit Shift-Operator + bitweises und Java Basics - Anfänger-Themen 2
W Seltsamer Operator int var = 1<< 23; Java Basics - Anfänger-Themen 4
P If Abfrage, Variablenvertauschung und UND Operator Java Basics - Anfänger-Themen 4
J Modulo-Operator rechnet falsch Java Basics - Anfänger-Themen 2
B + operator Java Basics - Anfänger-Themen 4
F Generische Methode - was bringt der Wildcard Operator? Java Basics - Anfänger-Themen 7
H Konditional Operator Java Basics - Anfänger-Themen 2
NightmareVirus new operator Java Basics - Anfänger-Themen 5
M %-Operator Java Basics - Anfänger-Themen 3
G string ohne '+' operator Java Basics - Anfänger-Themen 5
S Modulo-Operator Java Basics - Anfänger-Themen 5
S Operator ! auf char nicht anwendbar, was nun? Java Basics - Anfänger-Themen 7
T sobel-operator Java Basics - Anfänger-Themen 3
W %-Operator Java Basics - Anfänger-Themen 4
S Unterschied: ++a & a++ Operator? Java Basics - Anfänger-Themen 9
ven000m Operator += Java Basics - Anfänger-Themen 4
Student Probleme mit dem new-Operator Java Basics - Anfänger-Themen 14
G Operator-Überladung Java Basics - Anfänger-Themen 6
B Operator Java Basics - Anfänger-Themen 2
Z operator ++ Java Basics - Anfänger-Themen 3
N return-Operator Java Basics - Anfänger-Themen 11
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
W Wie ziehe ich positive ungerade Zahlen von meinem Hauptwert ab? Java Basics - Anfänger-Themen 17
L Greates Commong Dividend - euklidischer Algorithmus, modulos not positive Java Basics - Anfänger-Themen 5
B Input/Output Positive und negative Zahlen ausgeben Java Basics - Anfänger-Themen 27
J Simple Frage: Positive Zahlen zu Negativen machen. Java Basics - Anfänger-Themen 11
L [Gelöst:] positive Null Java Basics - Anfänger-Themen 4
G Nur positive Zahlen Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben