как упаковать два числа?
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
как упаковать два числа? - 2008-02-21 09:26:49.006666
|
|
|
RasenHerz
Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
|
к примеру, есть числа: 3120 и 26 упаковываю так: int a = (int)((3120 << 16) | (26 << 8)); распаковываю первое число: int b = (int)((a >> 16) & 0xffffffff); (получаю 3120) а как распаковать второе? побовал так: ((a >> 8) & 0xffffffff) и ((a >> 8) & (a >> 16) & 0xffffffff). ни первый, ни второй способ эффекта не дал.
|
|
|
RE: как упаковать два числа? - 2008-02-21 11:06:46.426666
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
#define MAKEWORD(l, h) (l | (h << 16)) #define LOWORD(a) (h & 0xffff) #define HIWORD(a) (h >> 16) запаковка: packed_value = MAKEWORD(3120, 26); распаковка: value1 = LOWORD(packed_value); value2 = HIWORD(packed_value);
|
|
|
RE: как упаковать два числа? - 2008-02-21 13:33:08.630000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
redsh, windows.h решает =)
|
|
|
RE: как упаковать два числа? - 2008-02-21 15:14:51.896666
|
|
|
RasenHerz
Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
|
quote:
redsh, windows.h решает =) смеешся? =))) я на LINUX'e….
|
|
|
RE: как упаковать два числа? - 2008-02-21 16:30:41.926666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
А какая разница. Тебе из заголовочных файлов MSVS привели вырезку. Легко и понятно )
|
|
|
|
|