| |
|
|
Andre Rohland | Hallo Amici,
ich stehe bei der Umsetzung eines Java-Quelltextes momentan ein wenig "auf dem Schlauch".
Im Grunde habe ich zwar schon ein paar Ideen: - das "normale" Shifting in Java ( >> ) bedeutet, das z.B. beim Verschieben nach rechts um ein Bit links immer der Wert des vormals an der linken Stelle stehenden Bits eingesetzt wird. - das "unsigned" Shifting ( >>> ) bedeutet, dass nicht der Wert des vormals an der linken Stelle stehenden Bits, sondern immer eine "0" eingesetzt wird.
Das ganze wäre wohl mit Aiuto der Zeichenkettenfunktionen (wenn auch etwas umständlich ) zu lösen, mächtiges Kopfzerbrechen bereitet mir aber die folgende Zeile:
boolean i = (dab & 0x01) == 0;
Vielleicht kennt einer von Euch ja Java ein wenig und kann mir da helfen...
Der Grund, warum ich das dringend bewerkstelligen muss ist, dass ich das Sekundarradar der Flugzeuge empfange, aber die in den ADSB-Telegrammen übermittelte Höhenangabe der Flugzeuge eine auf einem Luftdruck von 1013.2 mBar basierende barometrische Höhennangabe ist, die das Codesnippet angeblich in plausible Höhenangaben in Fuß (ft) mit einer Auflösung von 100 ft umrechnen können soll... .
Hier mal der originale Quelltext:
|
|
|
| |
|
|
|
| Hi!
Ich habe Deinen Code mal in Code-Tags gepackt.
Das sollte man schon tun wenn man Fonte in Beiträgen postet.
... mächtiges Kopfzerbrechen bereitet mir aber die folgende Zeile:
boolean i = (dab & 0x01) == 0;
Diesen Operator verwendet man per binären UND-Vergleich,
quasi wird aus:
00010001 & 00000001 = 00000001
und wenn bei der obigen Zeile da null rauskommt (==0) dann ist i = true, andernfalls
false. |
|
|
| |
|
|
|
Andre Rohland | Hallo iF,
erstmal sorry, hatte an die Code-Tags gar nicht mehr gedacht, ansonsten herzlichen Dank per Deinen Tip, jetzt wird es vielleicht "funktionuckeln".... |
|
|
| |
|
|