Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 11.08.2007, 14:29 Titel: aus 2 short werten ein integer wert erstellen |
|
|
Hallo
ich hab grad folgendes Problem. Habe 2 Werte mit dem Typ short und möchte dies nun zu einen integer zusammenfügen.
Wert 1 00000111 00011111 ( erster short wert)
Wert 2 11111110 00001011 ( zweiter short wert)
und nun möchte ich diese zwei Werte zu einen integer zusammenfügen das dieser nun folgenden werte besitzt.
00000111 00011111 11111110 00001011
Kann mir da einer bitte weiterhelfen hab schon gegoogelt aber leider nichts brauchbares gefunden. Möglicher weise fehlt mir der richtige Suchbegriff dazu.
Danke schon mal in Voraus _________________ Theorie ist, wenn man alles weiss und nichts funktioniert.
Praxis ist, wenn alles funktioniert und keiner weiss warum. |
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 35 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 11.08.2007, 14:44 Titel: |
|
|
Nicht getestet aber so sollte es eigentlich gehen:
CPP: | short s1,s2;
int i = s1;
i |= s2<<16
|
Vielleicht muss man bei der letzten Anweisung auch vorher nach int casten … _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 11.08.2007, 15:12 Titel: |
|
|
Kannst genauso gut shiften und addieren:
CPP: | short s1,s2;
int i=(s1<<16)+s2; |
_________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
DirectXer Dark JLI'ler
Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 12.08.2007, 18:37 Titel: |
|
|
The Lord of Programming hat Folgendes geschrieben: | Kannst genauso gut shiften und addieren:
CPP: | short s1,s2;
int i=(s1<<16)+s2; |
|
oder shiften und bit-or, ums noch schneller zu haben: CPP: | int i = (s1 << 16) | s2; |
In der WinAPI wird diese Technik bes. oft mit Message-Parametern benutz ( wParam, lParam) Dazu gibt es die Makros MAKEWORD (meistens 2 unsigned chars zu einem unsigned short) und MAKELONG (meistens zwei unsigned shorts zu einem unsigned int). Diese hängen auch zusätzlich von der Architektur ab, damit dein endgültiger Wert auch auf jeder Plattform dieselbe Größe hat)
Gruß DXer |
|
Nach oben |
|
|
|