unsigned__int64 difference;
difference=(64*33554432);
printf ("size %I64u \n", difference);
difference=(63*33554432);
printf ("size %I64u \n", difference);
처음 #은 어리석게 큽니다. 두 번째 숫자는 정답입니다. 62에서 63으로 변경하면 어떻게 변화합니까?unsigned_int64에서 예기치 않은 동작이 발생했습니다.
첫 번째 값 18,446,744,071,562,067,968 번째 값은 정규화 달리, 정수 리터럴 형 int
의 아니라면 2,113,929,216
미안 값이 64, 63이 아니라 63 및 62
표시되는 결과를 추가 할 수 있습니까? 실제 * 코드도 게시 할 수 있습니까? ('difference3'이 없으므로이 값을 사용할 수 없습니다.) –
죄송합니다. 코드가 매우 간단합니다. 분명히 차이가 아니라는 것을 의미했습니다 .3 죄송합니다. – Jake
C++에는 'unsigned__int64'이 없습니다. 구현 관련 확장 프로그램이나 라이브러리를 사용 중입니다. 플랫폼을 명시하십시오. –