2011-03-17 8 views
3

첫 번째 질문은 여기에 있습니다. FAQ를 읽었지만 대답을 찾지 못했습니다.ObjectiveC에서 iOS 대 % d의 다른 처리

코찬 (Kochan) 서적을 사용하여 Obj C를 배웠고, 정수에 % i, float에 % f, double에 % d를 분류합니다. 플로트

에 대한 정수 % f를위한 %의 i와 % d를 사람이 확인하고 어쩌면 이론적 근거를 설명 할 수 :

아이폰 OS를 사용하면, 오히려 것 같다. 나는 이미 애플의 문자열 프로그래밍 가이드를 보았다.

미리 감사드립니다.

+0

'float' 값은'double'으로 전달되므로'% f'는 실제로'double'입니다. – Gabe

답변

5

standard C/C++ syntax을 따른다. 따라서 % d와 % i는 모두 '부호있는 정수'이고, % f는 '10 진수 부동 소수점'이며 부동 소수점 또는 복소수를 표시합니다.

왜 d와 i가 중복되는지 확실하지는 않지만 % f가 (가) 실수로 두 배로되는 이유는 줄임표를 통해 전달 된 내용이 C 수준의 승격 규칙에 종속된다는 것입니다. int보다 작은 정수 유형을 전달하면 전달을 위해 전체 크기로 승격됩니다. 마찬가지로 float를 전달하면 double로 승격됩니다. 인수를받는 것은 정수 크기 대 부동 소수점의 관점에서 생각해야합니다. 저장소 크기가 아닙니다.

+0

도움을 주셔서 감사합니다. 그게 내 질문에 대답했다. – Spectravideo328

관련 문제