답변
CGFloat
은 실제로는 64 비트 플랫폼에서 double
입니다. (그것은 오래된 32 비트 플랫폼에 float
이었다.)
그래서 여기가 분할하고 double
double
바이 : 여기
CGFloat price = 88888736 / a;
^^^^^ ^^^^^^^^ ^
double int -> double double
그리고 당신은 double
float
a로 나눈 것 :
CGFloat price2 = 88888736 / 100.0f;
^^^^^^ ^^^^^^^^ ^^^^^^
double int -> double float
을 100.0
또는 (CGFloat)100
으로 변경하면 문제가 없습니다.
아마도 명백하지 않은 부분은 정수 리터럴과 'double'을 나누기 때문에 첫 번째 나누기가 'double'구분이고 두 번째가 정수 리터럴과 'float'리터럴을 나누기 때문에 'float' 나눗셈이라는 것입니다. – Sulthan
@ 설탕 : 고마워요. 이제 더 자세한 설명을 추가했습니다. –
지난 11 월 이후로 질문에 답변하지 않았습니다. 어떻게 된 거예요? 그것은 너무 느려 보인다. –
CGFloat
가 컴퓨터에 double
이다, 그러므로 당신이하고있는 것은 이것이다 :
double a = 100.00f
double price = 88888736/a
float a2 = 100.00f // `float` type enforced by the trailing `f`
double price2 = 88888736/a2
의 차이는 첫 번째 경우의 부문에서 동안 double
부문이 있다는 것이다 두 번째 경우는 디비전이고 결과는 이고은 double
에 할당됩니다. float
부서의 정밀도가 떨어 지므로 지금보고있는 결과를 얻게됩니다.
- 1. CSS에 플로트 센터가없는 이유는 무엇입니까?
- 2. C에서 플로트 오버플로
- 3. C에서 재정의 오류가 발생하는 이유는 무엇입니까?
- 4. C에서 운영자간에 다른 연관성이있는 이유는 무엇입니까?
- 5. C에서 Null 포인터가 C에서 다른 Null 포인터와 같은 이유는 무엇입니까?
- 6. 왼쪽 플로트 대 오른쪽 플로트 - 주문이 변경되는 이유는 무엇입니까?
- 7. 다른 행에 오른쪽 플로트 및 왼쪽 플로트
- 8. Objective-C에서 루트 클래스를 전달하는 동안 오류가 발생하는 이유는 무엇입니까?
- 9. 변수에 c에서 sqrt 함수를 사용하는 중 오류가 발생하는 이유는 무엇입니까?
- 10. Objective-C에서 세그멘테이션 오류가 무엇입니까?
- 11. C에서 선택 정렬 이유는 무엇입니까?
- 12. C에서 화씨를 반환해야하는 이유는 무엇입니까?
- 13. 플로트, 다른 바 색상?
- 14. 다른 플로트 입출력
- 15. 왜이 플로트 배열은 오류가 발생합니까?
- 16. C에서 하나씩 오류가 발생했습니다
- 17. 오류가 발생하는 이유는 무엇입니까?
- 18. 일부 값은 오류가 발생하지만 다른 값은 오류가 발생하는 이유는 무엇입니까?
- 19. "잘못된 문자열 오프셋"오류가 발생하는 이유는 무엇입니까?
- 20. sizeof가 C에서 같은 문자열에 대해 다른 값을 반환하는 이유는 무엇입니까?
- 21. C에서 오류가 발생했습니다
- 22. C에서 linecount가 작동하지 않는 이유는 무엇입니까?
- 23. 플로트 로그에서
- 24. C에서 Format String Attack이 발생하는 이유는 무엇입니까?
- 25. 출력이 다른 이유는 무엇입니까?
- 26. Antlr4 플로트
- 27. 다른 플로트를 사용하는 반전 플로트
- 28. 다른 색상 막대가있는 서브 플로트
- 29. Objective-C에서 [MyClass class]를 수행해야하는 이유는 무엇입니까? 오브젝티브 C에서
- 30. 방법에 오류가 발생하는 이유는 무엇입니까?
수레에는 약 7 자리의 소수 자릿수가 있습니다. 두 개의 실수를 나눔으로써'price2'를 계산하고 있습니다. (결과로 계산 한 결과가 어떻게 계산되는지는 바뀌지 않습니다. 'CGFloat'에 저장하면 그 정확도가 유지되지 않습니다.) –
순수 텍스트를 표시하는 것이 너무 어렵습니까? 그림 대신 텍스트로? – Gerhardh
텍스트 이미지 [매우 도움이되지 않습니다] (// meta.unix.stackexchange.com/q/4086). 큰 소리로 읽거나 편집기로 복사 할 수 없으며 색인이 잘되지 않으므로 같은 문제가있는 다른 사용자가 여기에서 답을 찾지 못할 가능성이 적습니다. 관련 텍스트를 직접 통합하려면 게시물을 편집하십시오 (가능한 경우 복사 + 붙여 넣기를 사용하여 텍스트 오류를 피하십시오). –