2013-09-01 2 views

답변

2

음, 0x1은 1의 16 진수 값이며 이진수는 ~ 001로 표시됩니다. 0x1에 0 비트 시프트를 적용하면 실제로 아무 것도 이동하지 않았기 때문에 값이 변경되지 않습니다. 당신이 1 시프트 할 때, 당신은 두 번째 열에 1을 가지고 다른 곳에는 0을 가지고 있기 때문에 좋은 0의 숫자가 2 인 ~ 010을 나타냅니다.

그러므로 은 uint32_t j = 0x1 << 1;보다 작은 값을가집니다.

uint32_t i = 0x1 << 0; 
uint32_t j = 0x1 << 1; 

NSLog(@"%u",i); // outputs 1 
NSLog(@"%u",j); // outputs 2 
관련 문제