OK, 나는서명되지 않은 긴 머리 긴 - 이상한 출력
... 상대적으로 큰 unsigned long long
의 진수/진수 버전과 나는 아주 이상한 있습니다지고있어 결과를 인쇄 할 수있는 코드를 시도하고있다 :
unsigned long long a = 1llu<<63;
printf("decimal = %llu\n",a);
printf("hexadecimal = %llx\n",a);
출력 :
decimal = 9223372036854775808
hexadecimal = 8000000000000000
,745 이
- 16 진수 출력 올바른입니다 :
지금, 여기거야.
- 소수점 출력 하지입니다
왜 무슨 일이 일어나고 있는지 (9223372036854780000
해야한다)? 내가 도대체 뭘 잘못하고있는 겁니까???
2^63이 인쇄됩니다. 나는 여기서 아무 문제도 보지 않는다. – chris
중복 가능성이 있습니까? 흥미 롭 군 : http://stackoverflow.com/questions/2844/how-do-you-printf-an-unsigned-long-long-int – abelito
@chris 정말 ??? 64 비트 정수에 맞지 않는다고 생각하니? 그렇다면 왜? –