Проблема с приведенным выше кодом заключается в том, что вы проверяете значение negative
в unsigned integer
.Часть if(y < 0)
всегда будет ложной.
Теперь, насколько я понимаю, вы хотите отфильтровать значения, которые больше 1Byte
.Вы знаете, что для данного byte
у вас есть 2^8 - 1
диапазон значений, то есть число без знака лежит в диапазоне [0-255]
.Таким образом, ваша проблема сводится к простой проверке, то есть if the input value is greater than 255, throw away that input
.(Ofc вы должны проверить для < 0
значений)
Есть другие решения для этого, но без какого-либо контекста я не могу дать точный ответ.Надеюсь, что приведенное выше упрощение поможет.