나는 프로그램을 가지고 있으며 그 안에 Q = pow (2.0,32)를 넣는다. windows7의 32 비트 시스템을 가진 컴퓨터에서이 프로그램을 실행하면 이 작동하지만 64 비트 시스템 Windowsxp를 가진 컴퓨터에 복사하면 Q = 0이됩니다. 무엇이 문제입니까? Q는 INTlong long int in windowsxp and windows7
답변
어떻게 Q
이 0 것을 알고 않는 오래 오래입니까?
printf("%lld\n", Q);
과 같은 것을 사용하여 인쇄하는 경우 Microsoft의 C 런타임 라이브러리가 부족한 것 같습니다. C99에 대한 Microsoft의 지원은 미미하며 "%lld"
형식을 지원하지 않을 가능성이 있습니다 (해당 컴파일러가 long long int
을 허용한다는 사실에 놀랐습니다).
printf("Q = %lld\n", Q);
if (Q == 0) {
puts("Q == 0");
}
else {
puts("Q != 0");
}
을 그리고 long long int
값을 출력하는 자신의 지원 방법을 마이크로 소프트의 문서를 참조하십시오 :
는 Q
의 값을 인쇄하는 것 외에도 0-Q
을 비교 을보십시오.
으로 2^n을 얻으려면 실험실에 팩을 가져올 때 시도해 보겠습니다. –
printf ("max = % lld", LONG_LONG_MAX); 은 첫 번째 windows7 컴퓨터에서 923을 인쇄합니다 ... 그리고 windowsxp에서 동일한 프로그램을 컴파일하면 -1이됩니다. 내 랩톱 windows7에서 시도하면 923이 인쇄됩니다. 윈도우 타입의 문제 –
@MousaFarajallah :'pow()'함수에 대해 묻고 있습니까, 아니면'LONG_LONG_MAX'에 대해서 묻고 있습니까? 귀하의 질문에 'LONG_LONG_MAX'이 (가) 언급되지 않았습니다. 그것에 대해 물어보고 싶다면 질문을 업데이트하십시오. 어느 쪽이든, 문제를 설명하는 * complete * * compilable * 프로그램 ('main()'함수와 필수'# include' 지시어를 포함하여)을 업데이트하십시오. 반도 넘지 않아도됩니다. 그것 없이는, 당신은 우리가 당신이 정말로하고있는 것을 짐작하게 만듭니다. http://sscce.org/ –
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include "highgui.h"
int main()
{
long long int Q;
Q=pow(2.0,32);
printf("%lld\n",Q);
printf("%lld\n",LONG_LONG_MAX); return 0;
}
- 1. Geolocation Null in long and long
- 2. 부호없는 long long int
- 3. "long int", "long long"데이터 형식
- 4. v C [++ long long int]
- 5. 이 논리가 무엇입니까? [long] = ([long] and [long]) 또는 [Long]
- 6. int (또는 long, long long) 변환에 double이 때때로 좋지 않음
- 7. 32 비트 머신에서 long long int
- 8. MSVC++ 처리 unsigned long long int
- 9. 배열의 첨자에 대해 'long int [long int]'형식이 잘못되었습니다.
- 10. "long long = int + int"먼저 계산 후 입력 하시겠습니까?
- 11. Javascript : Long Int 정의
- 12. C++ int 대 long
- 13. % d (long int 포함)
- 14. (long + long)
- 15. 부호없는 long long double long
- 16. long long 계산의 문제
- 17. tgamma() long long typecasting
- 18. '부호없는 long int와'및 '부호 없음 long long int와'할당 문제
- 19. 부호없는 int/long 표현 방법
- 20. NHibernate identity : int 또는 long
- 21. DataColumn DataType int 및 long
- 22. Robot.delay (int) 대 Thread.sleep (long)
- 23. "long long (^ blockFun)() = (long long (^)()) moreBlockFun"은 무엇을 의미합니까?
- 24. vC++ 6.0에서 long long int 컴파일 오류가 발생했습니다.
- 25. C++에서 "long long"결과를 갖는 "Int"곱하기
- 26. 표준 변환에 의한 int -> unsigned long long
- 27. NSUserDefaults에서 "long long int"를 쓰거나 얻는 방법
- 28. 비정상적으로 동작하는 C의 long long Int 유효성 검사
- 29. unsigned long long 문제
- 30. long long 타입 정의
** ** 64 비트 시스템 용 ** 재 컴파일하셨습니까? – StoryTeller
Windows XP 64 비트는 매우 특이합니다. 그게 니가 가진 것일거야? –
Professional x64 Edition 시스템 요약에서 시스템 유형이 x64 기반 PC –