인프런 커뮤니티 질문&답변

techtaek54님의 프로필 이미지
techtaek54

작성한 질문수

자바스크립트 제대로 배워볼래?

Number - 64비트 부동소수점

64비트 부동소수점 내용 중

작성

·

371

0

좋은 내용의 강의 감사드립니다.

64비트 부동소수점 강의 내용의 정리에 대해 질문남깁니다.

1.

결국 js는 number를 int, float에 관계없이 64비트 부동소수점의 형태로 다루고 이로 인해 소수점 연산에 대해 오차가 발생할 수 있다(구체적으로 가수부 제한인 52비트를 넘는 경우).

이를 보기 위해 주어진 소수(0.1과 0.2)를 2진수로 고쳐 연산을 하고 10진수로 고쳐서 그 예시를 들었다.

라고 이해를 하였는데 제대로 이해한게 맞을까요?

 

  1. 2진법으로 표현된 숫자에 대해 10진법으로 고치기 위해 0이하의 숫자에 대해 Math*pow(2, -55)한 원리가 궁급합니다.

감사합니다.

답변 1

0

개발자의 품격님의 프로필 이미지
개발자의 품격
지식공유자

아래와 같이 답변을 드립니다.

  1. 지금 이해하고 계신 내용이 맞습니다.

  2. 2진법을 10진법을 고치기 위해서 0이하의 숫자 자리수가 55자리입니다. 그래서 0이하의 2진수를 parseInt("0이하의 2진수",2) 정수로 바꾸고 여기에 pow(2,-55) 곱하는데요, pow 함수의 두번째 파라미터가 음수이면 1/2^55 로 계산이 되어서 정수를 다시 소수점을 만들게 됩니다.

techtaek54님의 프로필 이미지
techtaek54

작성한 질문수

질문하기