- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
#include <iostream>
#include <iomanip>
using std::boolalpha;
using std::cout;
using std::endl;
template <class N>
bool getbit(N var, int bit)
{
size_t bsz = sizeof(N)*8;
return ((bsz>=bit)?((var>>bit)%2):(0));
}
template <class N>
bool bitCompare(N a, N b)
{
size_t bsz = sizeof(N)*8;
for (size_t i = 0; i < bsz; i++)
{
bool gba = getbit(a, i);
bool gbb = getbit(b, i);
if (gba != gbb)
{
return false;
}
}
return true;
}
int main(int argc, char* argv[])
{
cout << "100500 == 100500:" << boolalpha << bitCompare(100500, 100500) << endl;
cout << "100500 == 9000: " << bitCompare(100500, 9000) << endl;
cout << "'H' == 'H': " << bitCompare('H', 'H') << endl;
cout << "'H' == 'K': " << bitCompare('H', 'K') << endl;
return 0;
}
Байтоебство проходили... Дамы и господа! Встречайте битоебство!
Можно подумать, что код из топика обошел бы эти "пустоты". Тот же самый memcmp, только с кучей лишних операций. И вообще не работает на не целых типах. Впрочем это его и спасает :)
так я и не говорил, что он подходит.
return bitCompare(2, 4);
lol
>только числа разной чётности
Походу только первую итерацию инлайнит и резолвит - там где очевидный результат.
не только. Ещё, если значения равны. Особенный случай ещё получается, если один из аргументов 0.
Небось этот долбоёб в ответ пропиздел бы что-то про зло предварительной оптимизации.
Это верх долбоебизма - ради того, чтобы не нарваться на предварительную оптимизацию, выбрать заведомо более медленный оператор (хотя он и компилируется в то же самое), который меньше подходит по смыслу! Смысл - ничто, главное - поменьше предварительных оптимизаций!!!
Друг друга станем нахуй.
А если кое-кто не от большого ума попробует забанить мои боты, то вот вам для стимула:
[email protected]:hans1982
С вашего почтового ящика зафиксирована рассылка спама, поэтому мы были вынуждены заблокировать отправку писем.
Для восстановления работы необходимо сменить пароль в ящике на более сложный и указать номер мобильного телефона.
Там еще рега на вебмани есть, с нее что-то можно поиметь?
Останется только найти способ закинуть туда денег.
Что за рашка-стайл - надо зарегиться, чтобы узнать, как платить???