Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 라디오
- VoIP
- HSDPA
- 이지형
- 그녀가말했다
- 위피
- 페이스북
- 김장훈의who
- 퀄컴
- "명탐정 코난"
- CDMA
- brew
- 김장훈
- 유희열의라디오천국
- 러시아
- 민동현의토요명화
- 한국의 기획자들
- 자바
- Wibro
- 민동현
- SWT
- itmusic
- 사요
- 차트쇼쇼쇼
- USIM
- EV-DO Rev. B
- Java
- ETF
- 공정위
- 모던음악만만세
Archives
- Today
- Total
01-27 11:14
zyint's blog
Floating point 본문
Floating point
소수점을 표현하는 타입이다. float 형의 크기는 플랫폼마다 다르다.
소수점 표현은 다음과 같이 할 수 있다.
- <?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
정규식 표현:
- LNUM [0-9]+
DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})
Warning: 소수점 정확도 문제
소수점 처리에서, 0.1이나 0.7과 같은 값들은 정확도에 문제가 발생할 수 있다. floor((0.1+0.7)*10) 의 경우 결과 값은 8이 아닌 7이 나오게 된다. 내부적으로 7.9 로 표현되기 때문이다.
마찬가지로 1/3으로 표현하는 것도, 0.3으로 표현하게 된다.
따라서, 소수점의 마지막 자리수 값이 정확하다고 생각하고 소수점끼리의 equal 연산은 하지 말아야 한다. 높은 정확도의 연산을 하려면 arbitrary precision math functions, gmp을 참고하라.
참고자료
http://www.php.net/manual/kr/language.types.float.php
이 글은 스프링노트에서 작성되었습니다.
Comments