Witam,
Czy ktoś mógłby wyjaśnić mi jak zrobić to zadanie :
Niech x będzie zmienną typu int w C przechowywaną w systemie uzupełnień do dwu na n bitach.
Udowodnij, _ze wyrażenia
-
(x>0) && (x==(x&-x))
-
x && !(x&(x-1)))
są prawdziwe wtedy i tylko wtedy, gdy zmienna x przyjmuje
wartość, która jest potęgą liczby 2^2
W podpunkcie 1 wiem, że gdy założymy, że x jest potęgą 2 to x>0 jest prawdą...
x&-x w reprezentacji U2 wychodzi : [000...1...000] ale nie wiem dlaczego to się ma równać x ?
Za wszelką pomoc z góry dziękuję ;]