일부 숫자는 십진법의 1/3과 같이 무한 분수로만 나타낼 수 있습니다. 그러나 1/3은 3차 시스템에서 무한 분수가 아니며 == 0.1입니다. 저것들. 다른 숫자 체계에는 고유한 무한 분수가 있습니다. 따라서 십진수의 무한하지 않은 분수는 이진수와 같을 수 있습니다. 예: 0.1, 0.2, 0.3, 0.4, ...에는 정확한 이진 표현이 없습니다. NormalizeDouble을 10번 이상 호출 하면 0.199999999..1 또는 0.200000...1이 됩니다. 뉴스인지 모르겠네요.
나는 한 번 아래에서 반올림하는 함수를 만들었습니다.
아마도 누군가가 도울 것입니다
나는 한 번 아래에서 반올림하는 함수를 만들었습니다.
아마도 누군가가 도울 것입니다
결과를 얻으 십시오 0.99999999999999999
X = 0.99999999999999999
10*X = 10*0.99999999999999999
10*XX = 10*0.99999999999999999-0.99999999999999999
9*X = 9*0.99999999999999999
우리는 9*X = 9를 얻거나 X가 1(일)입니다
v1 = (1/3) = 0.33333333 | v2 = 3*(1/3) = 1.00000000
또는 0.99999999999999999 = 1.0
v1(1.00000000) >= 1.0
도움이 되는 스레드에 대해 모두 감사합니다!
나 자신을 위해 NormalizeDouble 을 통해 1 자리 더 반올림한 다음 마지막 자리를 잘라내는 솔루션을 선택했습니다. 여기까지는 완벽하게 맞습니다.
그리고 다시 반올림에 대해 .......
상황에 따라 말씀해주세요(토마토는 던지지 마세요, 저는 휴머니스트입니다),
이 변수가 있습니다:
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
이론적으로 델타는 초기에 정규화되며,
OrderLots는 아마도 정규화된 double을 반환해야 할 것입니다.
하지만 가끔 드물게 2.775557561562891e-17과 같은 숫자를 얻습니다.
즉, 거의 0이지만 0은 아닙니다........
첫 번째 질문은 이것이 정상입니까?
두 번째 질문 - 내가 이해하는 한 두 번째 정규화로 꼬리가 나타나지 않도록 충분합니까?
세 번째 질문(아직도 이해하지 못하는 예감이 있지만 어쨌든 질문하겠습니다):
두 개의 정규화된 숫자를 추가하면 비정규화된 숫자를 얻을 수 있습니까?
추신: 다시 이 문제를 제기해서 죄송합니다만, 이 모든 것을 다시 읽을 힘이 없습니다
그리고 다시 반올림에 대해 .......
상황에 따라 말씀해주세요(토마토는 던지지 마세요, 저는 휴머니스트입니다),
이 변수가 있습니다:
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
이론적으로 델타는 초기에 정규화되며,
OrderLots는 아마도 정규화된 double을 반환해야 할 것입니다.
하지만 가끔 드물게 2.775557561562891e-17과 같은 숫자를 얻습니다.
즉, 거의 0이지만 0은 아닙니다........
첫 번째 질문은 이것이 정상입니까?
두 번째 질문 - 내가 이해하는 한 두 번째 정규화로 꼬리가 나타나지 않도록 충분합니까?
세 번째 질문(아직도 이해하지 못하는 예감이 있지만 어쨌든 질문하겠습니다):
두 개의 정규화된 숫자를 추가하면 비정규화된 숫자를 얻을 수 있습니까?
추신: 다시 이 문제를 제기해서 죄송합니다만, 이 모든 것을 다시 읽을 힘이 없습니다
추신: 다시 이 문제를 제기해서 죄송합니다만, 이 모든 것을 다시 읽을 힘이 없습니다
다른 예를 통해 직접 확인하는 것이 좋습니다. 그러면 이해가 될 것입니다.
내가 잘못하고있는 유일한 것은 다음과 같습니다.
그래서
복식용. 이것이 정말로 중요한지는 모르겠지만, 제 버전에 따르면 오류가 발생한 적이 없습니다(같은 유형의 변수만 비교하려고 합니다).
이것이 정말로 중요한지 는 모르겠지만, 내 버전에 따르면 오류가 발생한 적이 없습니다(같은 유형의 변수만 비교하려고 함).