정확한 비트 패턴을 유지하면서 정확히 동일한 너비의 부호없는 정수로 값 유형을 변환하고 싶습니다. 예를 들어 64 비트 부동 소수점은 ulong으로 입력되지만 비트 패턴은 동일합니다. 입력 유형은 지정되지 않았지만 일반적인 D 정수 유형 중 하나에 들어 맞는 입력 값보다 큰 입력 값을 처리 할 필요가 없으므로 집계 또는 메모리 내 개체가 필요하지 않습니다.D 형 강제 변환에서 캐스팅 : 값 변환없이 비트 패턴 유지
내가 제대로이 작업을 수행하는 방법에 대한 제안을 할 수있는, 최초의 부호없는 정수의 어떤 종류의 유형을 생성에서 이동 했어, 내가 const와 처리에 대한 몇 가지 결정을 내려야한다고 같은과 입력 유형의 불변성.
, 나는 생성 된 코드를 검사하는 데,
(* cast(const T_uint_result *) & input_val)
작동하는 것 같다
같은 작업을 수행하여 값 변환을 방지하기 위해 컴파일러를 강제하지만, 나는 그런 다음 적절한 유형을 획득 한 이것을 매우 불만스럽게 생각합니다. 직선 캐스트가 좋을 지 모르지만 컴파일러가 비트 패턴을 변경할 가능성 때문에 일반적으로 내 목적에는 안전하지 않습니다.