나는 계산 매우 높은 정밀도를 필요로하는 일부 매우 복잡한를 arithmetics, 즉하고 싶지NSDecimalNumber가 소수 자릿수를 나타내지 않는지 확인하는 방법은 무엇입니까?
10000000000 + 0.00000000001 = 10000000000.00000000001 10000000000.00000000001 * 3 = 30000000000.00000000003
나는, 수학 이런 종류의 NSDecimalNumber를 사용하고자하지만, 문제는 다음과 같습니다.이 값으로 피드를 보내는 방법은 무엇입니까?
문서는 말한다 : 내가 볼
- (id)initWithMantissa:(unsigned long long)mantissa exponent:(short)exponent isNegative:(BOOL)flag
첫 번째 문제는 가수입니다. 부호없는 long long이 필요합니다. 데이터 유형을 이해함에 따라 부동 소수점입니다. 맞습니까? 그렇다면 입력 된 값은 이미 "더티"입니다. 끝 부분에 원치 않는 소수 자릿수가있을 수 있습니다. 나는 "unsigned long long"에 대한 좋은 문서를 apple에서 찾을 수 없었지만 somone이 CGFloat로 가수를 먹인 코드 스 니펫을 기억합니다. 그래서 그것이 부동 소수점 유형이라고 가정합니다.
사실상 슈퍼 부동 소수점 데이터 유형 인 경우 어려운 질문은 다음과 같습니다. 깨끗하고 깨끗한 정수를 얻는 방법은 무엇입니까? 너무 깨끗해서, 잘못된 결과를 얻지 않고도 절반에이를 수 있습니까?
실제 NSDecimalNumber 사용법에 대한 훌륭한 자습서가 있습니까?
편집 : 여기에 문제가 없습니다. 모두에게 감사드립니다!
부호없는 long long은 부동 소수점 유형이 아니며 64 비트 부호없는 정수 –
입니다. 그게 내 모든 문제가 이것에 관해 사라 졌다는 것을 의미합니다. Doug 감사합니다! –