2017-04-07 2 views
0
typedef unsigned __int128 uint128_t; 

static uint64_t mul64hi(uint64_t x, uint64_t y) 
{ 
    return (uint64_t) ((((__int128) x) * ((__int128) y)) >> 64); 
} 
+0

무엇이 잘못 되었습니까? ... 오류가 수정되었습니다 ... – LPs

+0

@LP 아마 경로와 다른 gunge의 페이지 풀을 읽지 않고 간결하고 이해할 수있는 컴파일러 오류 메시지를받는 것이 충격적이었을 것입니다. – ThingyWotsit

답변

0

그것은 그대로입니다. C 컴파일러는 128 비트 정수형을 지원할 필요가 없으며 플랫폼이 그런 인스턴스 인 것처럼 보입니다. 그렇지 않으면 __int128이 아닙니다. (__int128_t 또는 int128_t을 시도해보십시오.)

절대적인 확실성은 컴파일러 설명서를 참조하거나 타사 대형 정수 라이브러리 사용을 고려하십시오. https://gmplib.org/

0

는 답변들

사실

의이 모든 사람을 감사 (__int128, __ int128_t, int128_t) 내 컴퓨터 GCC에서 작동합니다!

그러나이 작동하지 않습니다 내 "팔 자일링스 - 리눅스 - gnueabi-GCC를"

내 팔에 GPS를 설치하는 방법이인가요?

관련 문제