- 1
- 2
- 3
- 4
- 5
unsigned int userID;
...
userID = -1;
...
if( userID < 0 )
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+145
unsigned int userID;
...
userID = -1;
...
if( userID < 0 )
exit WTF_DATA_TYPE_ERROR;
}
инициализация беззнакового очень большим положительным целым
не представимым битами целевого операнда хорошо определена
target32 = big_val64 - (max_target32 + 1) - (max_target32 + 1) - (max_target32 + 1) ...
инициализация беззнакового отрицательным определяется
реализацией в зависимости от представления отрицательных
в памяти которое может быть "знак величина" "дополнение до единицы"
"дополнение до двух"
unsigned int userID;
...
userID = -1;
результат для 32 битных целых при кодировании отрицательных
при знак велитчина
2147483649
при дополнении до единицы
4294967294
при дополнении до двух
4294967295
опять ты здесь, полуёбок?
$ gcc -Wall -Wextra test.c
test.c:5:2: предупреждение: результат сравнения `беззнаковое выражение < 0' всегда ложь