Кресты / Говнокод #481 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 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);

Cпособ обменять значения двух переменных типа double;

Запостил: guest guest, (Updated )

Комментарии (6) RSS

  • *((DWORD*)&a) ^= *((DWORD*)&b);
    *((DWORD*)&b) ^= *((DWORD*)&a);

    Гы, кто-то где-то услышал что с ^ быстрее.

    а
    b+=a;
    a-=b;
    b+=a;
    a=-a;

    ведет к потере точности.
    Ответить
  • Rh:
    cha0s, старый способ тож попахивает имхо... Мне такое вот показали:
    х+=у;
    у=х-у;
    х-=у;
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8