Robert B.: Frage zu Win32

Beitrag lesen

Moin Rolf,

Ok, ein kleiner Test

DWORD b = -1;
unsigned char *oct = (unsigned char*)&b;
printf("%x %x %x %x", oct[0], oct[1], oct[2], oct[3] );

ff ff ff ff

das ist jetzt kein sonderlich guter Test.

Na doch, er will ja wissen, wie b intern dargestellt wird. Gut, man könnte auch anders tricksen, es läuft aber auf das Gleiche hinaus:

typedef union {
    DWORD dw;
    unsigned char b[sizeof(DWORD)];
} DWordBytes;

Habe gerade mal mit dem Online C Compiler bei Tutorialspoint getestet, da kann man unsigned int a = -1; problemlos zuweisen und findet dann 0xffffffff vor.

Das ist in C und C++ sogar ein gängiges Vorgehen um sehr einfach den maximalen Wert eines unsigned Datentyps zu bestimmen, z.B.

const size_t MaxSize = -1;

printf("%xz\n", MaxSize);
    /* gibt ffffffff bei 32 Bit aus, ffffffffffffffff bei 64 Bit */

Und int a = 0xc0000000; klappt auch. Offenbar prüft der nicht, ob er signed und unsigned mischt (da gibt's eine Option für damit er drüber mault, die wusste ich aber nicht mehr 😳)

Ja, wenn keine Prüfung eingeschaltet ist, wird einfach das gegebene Bitmuster anders interpretiert.

Viele Grüße
Robert

0 57

Frage zu Win32

pl
  • sonstiges
  1. 0
    Rolf B
  2. 0
    Tabellenkalk
  3. 0
    ursus contionabundo
    1. 0
      Rolf B
      1. 0
        ursus contionabundo
        1. 0
          Rolf B
          1. 0
            ursus contionabundo
        2. 0
          pl
          1. 0
            Rolf B
            1. 0
              pl
            2. 0
              pl
              1. 0
                Rolf B
                1. 0
                  Matthias Apsel
                  1. 0
                    Rolf B
                    1. 0
                      Matthias Apsel
                2. 0
                  pl
                  1. 0
                    Rolf B
                    1. 0
                      pl
                      1. 0
                        Rolf B
                        1. 0
                          pl
                        2. 0
                          Robert B.
                          • programmiertechnik
                          1. 0
                            pl
                            1. 0
                              Rolf B
                              1. 0
                                pl
                                1. 0
                                  ursus contionabundo
                                  1. 0
                                    pl
                                  2. 0
                                    pl
                                    1. 0
                                      Rolf B
                                      1. 0
                                        pl
                                        1. 0
                                          ursus contionabundo
                                          1. 0
                                            pl
                                            1. 0

                                              "Net Time Protocol" (a.k.a. "NTP") und "Port 37" passen nicht zusammen!

                                              ursus contionabundo
                                              • webserver
                                              1. 0
                                                pl
                                              2. 0
                                                pl
                                              3. 0
                                                pl
                                                1. 0
                                                  ursus contionabundo
                                                  1. 0
                                                    pl
                              2. 0
                                Robert B.
                                1. 0
                                  Rolf B
                                  1. 0
                                    Robert B.
                                    1. 0
                                      pl
                                      1. 0
                                        Robert B.
                                        1. 0
                                          pl
                                      2. 0
                                        Rolf B
                              3. 0

                                USB und Floating Point Numbers

                                pl
                                1. 0
                                  ursus contionabundo
                                  1. 0
                                    pl
                                    1. 0
                                      klawischnigg
                                      1. 0
                                        pl
                                        1. 0
                                          klawischnigg
                                          1. 0
                                            pl
                                            1. 0
                                              Robert B.
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  pl
                                              2. 0
                                                pl
                    2. 0
                      Matthias Apsel