Français
Java-Forum

Aider chez Umsetzung de Java codesnippet

 

Andre
Rohland
allô Amis,

je stehe chez qui Umsetzung eines Java-Quelltextes momentan un peu "auf dem Schlauch".

Im Grunde habe je zwar déjà un paire idées:
- cela "normale" Shifting dans Java ( >> ) bedeutet, cela z.B. beim Déplacer à droite um un Bit à gauche toujours qui Wert des vormals à qui linken Stelle stehenden Bits eingesetzt wird.
- cela "unsigned" Shifting ( >>> ) bedeutet, dass pas qui Wert des vormals à qui linken Stelle stehenden Bits, mais toujours une "0" eingesetzt wird.

cela ganze wäre wohl avec Aider qui Zeichenkettenfunktionen (si aussi quelque chose compliqué ) trop lösen, mächtiges Kopfzerbrechen bereitet mir mais qui folgende la ligne:

boolean i = (dab & 0x01) == 0;

peut-être kennt einer de Euch oui Java un peu et peux mir là aider...

qui Grund, pourquoi je cela dringend bewerkstelligen muss ist, dass je cela Sekundarradar qui Flugzeuge empfange, mais qui dans den ADSB-Telegrammen übermittelte Höhenangabe qui Flugzeuge une sur einem Luftdruck de 1013.2 mBar basierende barometrische Höhennangabe ist, qui cela Codesnippet angeblich dans plausible Höhenangaben dans Fuß (ft) avec einer Auflösung de 100 ft umrechnen peut soll... .

ici la fois qui originale Voir le texte source:
/**
* Method to convert octal data into à altitude with 100 foot resolution
*
* <p>Based on algorithm à partir de Andy at Jetvision.de
*
* @param a à integer representing le first 3 bits
* @param b à integer representing le second 3 bits
* @param c à integer representing le third 3 bits
* @param d à integer representing le fourth 3 bits
* @return à int representing le altitude dans feet with 100 foot resolution
*             or -9999 for error
*/

public int altitudeDecode(int a, int b, int c, int d) {

    int vieux = 0;
    int dab = grayToBinary((d << 6) + (a << 3) + b);
    boolean i = (dab & 0x01) == 0;
    dab = (dab * 500) - 1000;

    si (i) {

        switch (c) {

            cas 4:
            vieux = dab + 200;
            pause;
            cas 6:
            vieux = dab + 100;
            pause;
            cas 2:
            vieux = dab;
            pause;
            cas 3:
            vieux = dab - 100;
            pause;
            cas 1:
            vieux = dab - 200;
            pause;
            default:
            vieux = -9999;

        }

    } d'autre {

        switch (c) {

            cas 4:
            vieux = dab - 200;
            pause;
            cas 6:
            vieux = dab - 100;
            pause;
            cas 2:
            vieux = dab;
            pause;
            cas 3:
            vieux = dab + 100;
            pause;
            cas 1:
            vieux = dab + 200;
            pause;
            default:
            vieux = -9999;

        }

    }

    return vieux;

}

/**
* Method to calculate altitude à partir de Mode-C transponder type reply
* B[i] = XOR(B[i+1], G[i]) to convert Gray to binary
*
* <p>Based on à algorithm à partir de Andy at Jetvision.de
*
* @param g à integer representing a gray code
* @return à integer representing le binary value of le given gray code
*/

private int grayToBinary(int g) {

    int val = g & 0x80;
    val = val | ((g & 0x40) ^ ((val & 0x80) >>> 1));
    val = val | ((g & 0x20) ^ ((val & 0x40) >>> 1));
    val = val | ((g & 0x10) ^ ((val & 0x20) >>> 1));
    val = val | ((g & 0x08) ^ ((val & 0x10) >>> 1));
    val = val | ((g & 0x04) ^ ((val & 0x08) >>> 1));
    val = val | ((g & 0x02) ^ ((val & 0x04) >>> 1));
    val = val | ((g & 0x01) ^ ((val & 0x02) >>> 1));
    return val;

}

 
02.10.2012  
 



Hi!

j'ai Deinen Code la fois dans Code-Tags emballé.

cela sollte on déjà 1faire si on Source dans Beiträgen postet.


... mächtiges Kopfzerbrechen bereitet mir mais qui folgende la ligne:

boolean i = (dab & 0x01) == 0;


Diesen Operator verwendet on pour binären UND-comparaison,

quasi wird aus:


00010001 &
00000001 =
00000001


et si chez qui obigen la ligne là zéro rauskommt (==0) ensuite ist i = vrai, andernfalls

faux.
 
03.10.2012  
 




Andre
Rohland
allô iF,

erstmal sorry, hatte à qui Code-Tags gar pas plus gedacht, ansonsten herzlichen Dank pour Deinen Tip, maintenant wird es peut-être "funktionuckeln"....
 
03.10.2012  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.459 Views

Untitledvor 0 min.
Sven Bader10.09.2021
E.T.16.06.2020
Peter Max Müller28.10.2017
iF12.03.2015
plus...

Themeninformationen

cet Thema hat 2 participant:

Andre Rohland (2x)
iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie