부호없는 32 비트 정수 2 개로 저장된 64 비트 숫자 (63 비트 + 부호 비트)를 2의 보수 숫자로 나타냅니다. 난 그냥 32 비트 숫자를 사용하여 곱셈 알고리즘을 구현하고, 결과가 63 비트에 맞는지 확인할 수있는 방법32 비트 부호없는 정수를 사용하여 64 비트 수를 곱하는 알고리즘
struct Long
{
uint32 high;
uint32 low;
}
, 난 결과가 맞지 않는 경우 오버 플로우를 나타내는 오류 코드를 반환하고자합니다.
대부분의 컴파일러는 64 비트 길이의 긴 long 타입을 가지며 곱셈과 함께 사용해야합니다. – Pubby
64 비트 지원이 없다고 가정하고 알고리즘이 필요합니다. –
Wikipedia는 컴퓨터에서 사용하는 알고리즘을 설명합니다. http://en.wikipedia.org/wiki/Multiplication_algorithm –