Это относится к домашнему заданию, но это не домашнее задание.
Я с трудом понимаю, есть ли разница в том, как побитовое нет (~
в C) повлияло бы на signed int
и unsigned int
при компиляции на старшей или младшей машине.
Являются ли байты действительно"задом наперед", и если да, то побитовые нет (и другие операторы) приводят к разным результирующим int
s, в зависимости от типа машины?
Пока мы находимся на этом, одинаков ли ответ для каждого из побитовых операторов в C или он сильно зависит?
Операторы, на которых я ссылаюсь:
~ /* bitwise Not */
& /* bitwise And */
| /* bitwise Or */
^ /* bitwise Exclusive-Or */
Заранее спасибо!
Обновление: Читая мои ответы, я вынужден спросить, влияет ли побитовый оператор not на бит знака на signed int
. Боюсь, я немного запутался в этой части, так как забыл обо всей этой глупости. Кажется, Адам заявляет, что все значения рассматриваются как неподписанные. Повторно применяется символьный бит или значение со знаком становится без знака?