0 Daumen
668 Aufrufe

Frage:

In Java gibt es neben dem in der Vorlesung erwähnten Operator |, der zwei Operanden vom Typ boolean miteinander verknüpft, auch noch einen Operator |, der zwei ganzzahlige Operanden miteinander verknüpft.

(a) Was ist der Ruckgabewert von 113 | 2024 bzw. 593 | 1034?

(b) Welchen Typ hat der Ruckgabewert?

(c) Beschreiben Sie kurz, wie sich der Ruckgabewert allgemein aus den beiden Operanden ergibt.

Avatar von

1 Antwort

+1 Daumen

c) | ist der Operator für ein bitweises OR. Die vorhandenen Zahlen werden erstmal in ihre zugehörigen Binärzahlen umgewandelt. Für jedes Bit wird eine 1 gesetzt, wenn für eine der beiden Binärzahlen an dieser Stelle das Bit 1 gesetzt ist, sonst wird das Bit 0 gesetzt. Anschließend wird das Ergebnis wieder in das Zahlensystem der Ausgangszahlen konvertiert.

a) Du konvertierst die Dezimalzahlen erstmal in ihre zugehörigen Binärzahlen und kannst dann ganz einfach die neue Zahl ablesen:

113 | 2024:

00001110001
11111101000
-----------
11111111001 (Bin) = 2041 (Dez)

593 | 1034: Analog. Ergebnis zur Kontrolle: 1627 (Dez)

b) Der Rückgabetyp ist in diesem Fall int.

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community