#include<stdio.h> void main() { unsigned int a1; int a2=-1; a1=-1; printf("unsigned:%x",a1); printf("signed:%x",a2); } 값은 두개다 ffff입니당.. 왜 차이가 없죵?
같은 비트 패턴이라 %x 로 찍으면 두 값 모두 같은 16진수로 보입니다. 두 변수의 차이는 출력 형식이 아니라 부호 해석과 비교, 나눗셈이나 오른쪽 시프트 같은 연산에서 드러납니다.