조금 개인적인 연구 프로젝트를 위해 double precision 부동 소수점 숫자가 가질 수있는 모든 가능한 값의 문자열 목록을 생성하려고합니다.C#에서 가능한 모든 배정도 숫자를 (이론적으로) 인쇄하는 방법?
string s = myDouble.ToString("r");
하지만 어떻게 가능한 모든 비트 조합을 생성 :
나는 문자열이 동일한 비트 표현으로 다시 구문 분석 할 수 있음을 보장하는 "R"옵션을 서식을 발견했습니다? 값순으로 정렬하는 것이 바람직합니다.
어쨌든 unchecked
키워드를 사용하고 계신지요? 비트 문자열을 만듭니다
unchecked
{
//for all long values
myDouble[i] = myLong++;
}
면책 조항 : 이론적 인 질문은, 내가
그 중 많은 수가 ... –
여기에서 시작하기 전에 간단한 수학을 수행하십시오. 이중의 가수 부분에는 52 비트가 있습니다. 즉, 지수의 * 단일 값 (그 중 2048 개가 있지만 특별한 의미가있는 값)과 부호 비트에 대해 가능한 값은 4503599627370496입니다. –
예, 전체적으로 많이! 기억과 숫양에 대해 걱정하지 마라. 나는 나중에 이해할 것이다 ... 그것은 내가 가진 이론적 인 질문이다. – thalm