Каково битовое представление unsigned int x =-1;
. Можем ли мы присвоить unsigned int отрицательное целое число?
#include<stdio.h>
int main(){
unsigned int x = -1;
int y = ~0;
if(x == y)
printf("same");
else
printf("not same");
return 0;
}
вывод :
такой же
и как это возможно, x без знака
#include<stdio.h>
int main()
{
unsigned int x = -4;
if (x == -4)
printf("true");
else
printf("FALSE");
}
вывод:
истинный
(unsigned)(-1)
производилUNIT_MAX
на всех платформах, независимо от того, используют ли они двойную реализацию или нет. - person AnT   schedule 30.09.2014~0
, с другой стороны, дает -1 только в том случае, если реализация использует дополнение до 2 (и для полноты картины~0
может быть представлением ловушки (в противном случае это отрицательный нуль) для дополнения до 1). - person mafso   schedule 01.10.2014