2010-05-14 3 views
0

NSLog 함수는 printf 형식 지정자를 허용합니다. 내 질문에 대한 % x 지정자입니다. 16 진수 코드가 메모리에 시퀀스로 인쇄됩니까? 또는 자체 인쇄 순서 스타일을 가지고 있습니까?NSLog에서 정수의 바이트 순서 (엔디안)?

unsigned int a = 0x000000FF; 
NSLog(@"%x", a); 

위의 결과가 크거나 작은 엔디안 프로세서에서 동일하거나 다른 결과를 얻었습니까? NSString의 -initWithFormat 메서드는 어떻습니까? 이 규칙을 똑같이 따르는가?

+0

왜'NSLog'가'printf'에서 다른 점이 있습니까? 또는'printf'에 대해서도 묻고 있습니까? – jamesdlin

+0

네, 맞습니다. 그들은 평등합니다. 나는 printf에 대해서도 묻고있다. NSLog의 설명에서 링크 된 printf 문서를 보았지만 바이트 순서에 대한 직접적인 언급을 찾을 수 없었습니다. 그리고 저는 C의 기본 시스템을 잘 모릅니다. 그래서 나는 그것에 대해 확신 할 수 없었다. 그게 내가 여기 왜 이것을 요구했는지 이유입니다. 유죄 판결을 위해. – Eonil

답변

3

% x은 항상 최상위 자릿수를 먼저 인쇄합니다. 실행중인 프로세서 종류는 중요하지 않습니다.

+0

+1,'NSLog'와'int'는 모두 같은 엔디안에 있습니다. –

+0

@Carl 더 구체적으로 말씀해 주시겠습니까? 컴퓨터에서 바이트 순서가 다를 수 있다는 뜻입니까? – Eonil

+0

@ 오닐 예. 예를 들어, PowerPC Mac은 빅 엔디안이고 Intel Mac은 리틀 엔디안입니다. –