내가 이해하는 바로는, 정수 나누기를 수행하는 현재의 방법은 하드웨어에서 역수를 계산 한 다음 곱셈을 수행하는 것입니다.역수를 계산하고 저장함으로써 빠른 정수 나누기?
정수 나누기에 많은 시간을 소비하는 C# 코드가 있습니다. 값이 거의 변경되지 않아 값이 캐시 될 수 있습니다.
소프트웨어에서 하드웨어 알고리즘을 수행하고 싶습니다. 즉 제수의 역수를 계산하고 이러한 모든 나누기를 곱셈으로 바꾸고 싶습니다. 누구든지이 변환을 수행하는 알고리즘을 알고 있거나 더 나은가? 자동으로이를 수행 할 수있는 CLR이 있습니까?
더 낮은 수준의 언어 (예 : C)로 이것을 쓰지 않고 그 대신에 상호 작용할 수 있습니까? – Oded
CPU가 실제로 정수 나누기의 부동 소수점 연산을 수행한다고 말하고 있습니까? (예 : x/4 = x * 0.25). 그렇다면 정수 연산은 일반적으로 부동 소수점 연산보다 훨씬 빠르다고 가정 할 수 있습니까? – stakx
@stakx 하드웨어의 정수 나누기는 부동 소수점 나누기보다 복잡합니다. 그러나 구체적인 구현 방법을 말할 수는 없습니다. – NominSim