- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
double a, b;
...
*((DWORD*)&a) ^= *((DWORD*)&b);
*((DWORD*)&b) ^= *((DWORD*)&a);
*((DWORD*)&a) ^= *((DWORD*)&b);
*((DWORD*)&a + 1) ^= *((DWORD*)&b + 1);
*((DWORD*)&b + 1) ^= *((DWORD*)&a + 1);
*((DWORD*)&a + 1) ^= *((DWORD*)&b + 1);
guest 30.01.2009 23:21 # 0
omg
guest 31.01.2009 01:28 # +1
guest 03.02.2009 21:51 # −1
Есть старый способ же:
b+=a;
a-=b;
b+=a;
a=-a;
guest 07.02.2009 22:22 # 0
guest 02.04.2009 22:30 # 0
*((DWORD*)&b) ^= *((DWORD*)&a);
Гы, кто-то где-то услышал что с ^ быстрее.
а
b+=a;
a-=b;
b+=a;
a=-a;
ведет к потере точности.
guest 06.04.2009 00:20 # 0
cha0s, старый способ тож попахивает имхо... Мне такое вот показали:
х+=у;
у=х-у;
х-=у;