Hi!
Der gezeigte Code liefert mir die folgende Ausgabe:
Spoiler anzeigen
Eindeutig zu erkennen: die Shift-Operation arbeitet nicht über das 4 Byte hinaus, sondern "bricht um". Ich möchte die Konstante 0xFFFF aber gerne auch bis auf das MSB hochschieben können. Wie kann ich das erzielen? Im Konfigurationsmanager habe ich von "Any CPU" auf "x64" umgestellt. Leider ohne Erfolg. Der Code läuft auf einem 64 Bit System, sollte aber auch auf 32 Bit Rechner laufen.
Der gezeigte Code liefert mir die folgende Ausgabe:
Quellcode
- 0 000000000000FFFF
- 1 000000000001FFFE
- 2 000000000003FFFC
- 3 000000000007FFF8
- 4 00000000000FFFF0
- 5 00000000001FFFE0
- 6 00000000003FFFC0
- 7 00000000007FFF80
- 8 0000000000FFFF00
- 9 0000000001FFFE00
- 10 0000000003FFFC00
- 11 0000000007FFF800
- 12 000000000FFFF000
- 13 000000001FFFE000
- 14 000000003FFFC000
- 15 000000007FFF8000
- 16 00000000FFFF0000
- 17 00000000FFFE0000
- 18 00000000FFFC0000
- 19 00000000FFF80000
- 20 00000000FFF00000
- 21 00000000FFE00000
- 22 00000000FFC00000
- 23 00000000FF800000
- 24 00000000FF000000
- 25 00000000FE000000
- 26 00000000FC000000
- 27 00000000F8000000
- 28 00000000F0000000
- 29 00000000E0000000
- 30 00000000C0000000
- 31 0000000080000000
- 32 000000000000FFFF
- 33 000000000001FFFE
- 34 000000000003FFFC
- 35 000000000007FFF8
- 36 00000000000FFFF0
- 37 00000000001FFFE0
- 38 00000000003FFFC0
- 39 00000000007FFF80
- 40 0000000000FFFF00
- 41 0000000001FFFE00
- 42 0000000003FFFC00
- 43 0000000007FFF800
- 44 000000000FFFF000
- 45 000000001FFFE000
- 46 000000003FFFC000
- 47 000000007FFF8000
Eindeutig zu erkennen: die Shift-Operation arbeitet nicht über das 4 Byte hinaus, sondern "bricht um". Ich möchte die Konstante 0xFFFF aber gerne auch bis auf das MSB hochschieben können. Wie kann ich das erzielen? Im Konfigurationsmanager habe ich von "Any CPU" auf "x64" umgestellt. Leider ohne Erfolg. Der Code läuft auf einem 64 Bit System, sollte aber auch auf 32 Bit Rechner laufen.