결정적 숫자 생성 함수를 만들기 위한 탐구에서 우리의 목표는 각 입력 숫자가 고유한 해당 숫자를 생성하는 함수를 구성하는 것입니다. 중복 없는 숫자.
모듈식 연산 솔루션:
기발한 솔루션은 모듈식 연산, 특히 Affine 암호에 있습니다. 변환 공식을 사용합니다.
f(P) = (mP + s) mod n
여기서:
uint64 범위의 경우 m에 짝수가 아닌 값이 제안됩니다. 2로 나누어지는 것을 방지합니다.
구현 예:
import ( "fmt" ) func main() { m := uint64(39293) s := uint64(75321908) transform := func(p uint64) uint64 { return p * m + s } testValues := []uint64{1, 2, 3, 4, 5} for _, v := range testValues { fmt.Printf("%v -> %v\n", v, transform(v)) } }
이 함수는 가능한 모든 uint64 입력 값에 대해 생성된 변환 값이 고유하도록 보장합니다.
부호 있는 정수에 대한 조정:
부호 있는 정수(int64)의 경우 접근 방식은 유사하게 유지됩니다. 고유한 매핑을 유지하기 위해 uint64와 int64 사이의 입력과 출력을 변환합니다.
func signedTransform(p int64) int64 { return int64(transform(uint64(p))) }
이 결정적 기능을 활용하여 개발자는 주어진 입력 정수에서 고유하고 재현 가능한 숫자를 생성할 수 있으므로 다양한 애플리케이션을 위한 귀중한 도구가 됩니다. .
위 내용은 다른 정수에서 고유한 결정적 정수를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!