C#에서 double
값을 갖고 있다고 가정 해 보겠습니다.GetHashCode()는 다른 정수로 동일한 double 결과를 얻을 수 있습니까?
GetHashCode()
이 다른 컴퓨터/창/아키텍처에서이 double
에 대해 다른 정수 값을 반환 할 수 있습니까?
public unsafe override int GetHashCode() {
double d = m_value;
if (d == 0) {
// Ensure that 0 and -0 have the same hash code
return 0;
}
long value = *(long*)(&d);
return unchecked((int)value)^((int)(value >> 32));
}
가능하다면? –
GetHashCode의 결과는 구현에 따라 다르므로 원칙적으로 예, 왜 안됩니까? – Pavel