2009-12-08 5 views
5

2 64 비트 숫자 ("Hi"및 "Lo")로 저장된 128 비트 숫자가 있습니다. 32 비트 숫자로 나누면됩니다. CPU의 네이티브 64 비트 연산을 사용하면 어떻게 할 수 있습니까?64 비트 컴퓨터에서 부호없는 128 비트 나누기

(임의 정밀도 라이브러리가 필요하지 않음을 유의하십시오. 네이티브 연산을 사용하여이 간단한 나누기를 만드는 방법을 알아야합니다. 감사합니다.) 감사합니다.

답변

3

아키텍처에서 처리 할 수있는 가장 큰 네이티브 표현 (64 비트)을 사용하여 값 (128 비트)을 저장하는 경우 (이미 발견 한 것처럼) 나누기의 중간 결과를 처리하는 데 문제가 있습니다.

하지만 항상 작은 표현을 사용할 수 있습니다. 32 비트의 4 가지 숫자는 무엇입니까? 이렇게하면 오버플로 문제없이 네이티브 64 비트 연산을 사용할 수 있습니다.

간단한 구현 (델파이)은 here입니다.

+0

Perfect. 감사! – rookie

2

일부 코드 here.