int i=3; printf("test %x",U1<<3); 라고한다면 한 비트가 쉬프트 되던데..원래...U1 이라는게 의미하는게 한비트를 쉬프트 하는의미 인가요?
U1 은 C 에서 1 이라는 정수 상수가 아니라 정의되지 않은 식별자입니다. 1 을 쓰려면 1U 처럼 적어야 합니다. 1U << 3 은 1 을 3 비트 왼쪽으로 옮긴 값이므로 8 이 나옵니다.