본문 바로가기
FrontEnd/JavaScript

배정밀도 64비트 부동소수점

by 해학 2022. 11. 24.
728x90

자바 스크립트 에서 숫자 타입배정밀도  64비트 부동소수점 형식 2진수 로 저장이 됩니다. 

Ex)
console.log(0.2 + 0.4 === 0.6); // false
console.log(0.2 + 0.4); //0.6000000000000001

컴퓨터는 2진법 사용하여 값을 저장한다.

=> 10 진법으로 표현된 수를 2 진법으로 변환 시 64 비트를 초과하는 무한소수가 발생할 수 있다. 
컴퓨터는 해결하기 위해 근사치로 표현하다 보니 미세한 값들이 초과하여 차이가 발생 (정밀도 문제)

배정밀도 란?

64 비트 를 사용하는 것 cf)  비교 군으로 단정밀도 (32 비트를 사용하는 것) 이 있다. 

 

부동 소수점 (떠돌이 소수점) 이란 ?

컴퓨터에서 실수를 표현 시 소수점의 위치를 고정하지 않고, 위치를 나타내는 수를 따로 적는 것으로, 유효숫자를 나태내는 가수와 소수점 위치를 풀이하는 지수로 나누어 표현하는 식이다.

 Cf) 해결 법

반올림 함수를 사용
toFixed() // 파라미터 안에는 소수점 자리 수가 들어간다.

자바스크립트에서 숫자는  64 비트 IEEE 754 형식  으로 다뤄진다.

 

 

728x90

'FrontEnd > JavaScript' 카테고리의 다른 글

이스케이프 시퀀스 (escape sequence)  (0) 2022.11.24
단항 (덧셈, 부정) 연산자 (+)  (0) 2022.11.24
변수 / 상수  (0) 2022.11.15
Use Strict  (0) 2022.11.14
재귀 함수  (0) 2022.11.06