[SOLVED] Bitweise verschieben und das ganz fiese zeug .. HILFE

  • Hi jungs


    ich komme hier irgend wie nicht klar ..


    ich bin java unterwegs .. aber evel ist es in andeen sprachen ja aehnlich



    ich habe einen werte bereich zwischen -523 bis +523


    leider muss ich das ganze etwas verwandelt wegschicken



    naemlich dezimal ungefaehr so


    der werte bereich ist


    Code
    0x020B - 0x0000 - 0xFDF6


    Code
    -523 bis 0  = 0 bis 523
    65014 bis 65535 = 0 bis 523


    abe etwas rumgespielt weil ich das ganze noch nicht gerallt habe anscheind *g*


    das passt schon fast nur ist es immer um einen wert falsch .. muss ich da plus ein machen oder ist das nen gedanken fehler


    Code
    System.out.println(523 & 0xFFFF);
    		System.out.println((-523) & 0xFFFF);
    
    
    		System.out.println(65535 ^ 0xFFFF);
    		System.out.println(65014 ^ 0xFFFF);



    hilfe :)


    euer mentox


    edit werte bereich angepasst .. vermutlich war das schon alles .. habe mich einfach vertippt im wireshark abtippen :)

    2 Mal editiert, zuletzt von mentox ()

  • mit rnissl erarbeitet .. so ist richtig ;) .. feur mich jedenfalls :)



    danke auch an thomas .. das hat mich voll verwirrt.. das werd ich noch mal ueben ;)





    Code
    System.out.println((short)0xfdf6);
    
    		int a = (short)65526;
    		System.out.println(a );
    
    		int x = 65526;
    		System.out.println((x >= 0x8000 ? x - 0x10000 : x));
    
    		System.out.println(-522 & 0xFFFF);
    		System.out.println(523 & 0xFFFF);
  • Zitat

    Original von mentox
    danke auch an thomas .. das hat mich voll verwirrt..


    Frag mich mal ;)


    Letzten Endes ist die Kodierung, welcher Art auch immer, Vereinbarungssache.
    Um das bis ins letzte Detail nutzen zu können, muss man halt genau wissen, wie das nun funktioniert, aber so lange man keine Bitshiftorgien veranstaltet kann's einem zum Glück (fast immer) egal sein :)

  • Zitat

    Original von Thomas
    In Java ist alles vorzeichenbehaftet.


    Das ist ärgerlich .


    Denn daß Y=ABS(x+523) ist ja simpel erkennbar ...


    Zitat


    Eine 16bit Zahl heisst dort short, 32Bit sind int, 64bit long


    Aha , Byte , Word , Dword und LDword gibbt nur noch im Assembler ?!
    Der is mir eh sympatischer :gap


    HJS

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!