printf의 버그인지 잘 모르겠지만.. 16진수값 출력은 0으로 채우기가 안되네요.
예를들어, 다음과 같은 소스가 있다고 하면
main() { unsigned short a = 0x0100; printf("%#04x\n", a); }
이 출력값은 0x0100 이 되어야 하지 않나요? 근데 0x100 이렇게 나오는 이유는 무언지.. 별짓 다해도 안되길래 일단 포기했는데 이유를 모르겠습니다 ㅜㅜ;
printf("0x%04x", a); 처럼 해보세요.
4라는 개수는 앞의 0x까지 포함했던 걸로 기억합니다. 6을 줘보세요 :)
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
printf("0x%04x", a); 처럼
printf("0x%04x", a); 처럼 해보세요.
4라는 개수는 앞의
4라는 개수는 앞의 0x까지 포함했던 걸로 기억합니다. 6을 줘보세요 :)
댓글 달기