강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jwbaek42177
jwbaek42177

câu hỏi đã được viết

Bất cứ ai cũng có thể học Python, kể cả sinh viên nghệ thuật tự do và những người không chuyên!

1.5 Chạy jupyter

수치 연산?

Đã giải quyết

Viết

·

169

0

3 * 0.1을 계산하면, 0.3이 나오지 않습니다. 0.3이 나오게 하려면 어떻게 하나요?

image.png


python

Câu trả lời 1

0

DeepingSauce님의 프로필 이미지
DeepingSauce
Người chia sẻ kiến thức

컴퓨터는 숫자를 저장하고 계산할 때 0과 1로 이루어진 이진법(바이너리)이라는 방식을 사용해요. 우리가 사용하는 십진법(10진법)과는 다르게, 이진법에서는 소수점 숫자들을 완벽하게 표현하기 어려운 경우가 많아요.

예를 들어, 0.1이라는 숫자를 이진법으로 표현하려고 하면 끝이 없는 소수로 나타나요. 이는 마치 우리가 1/3을 십진법으로 표현하면 0.33333... (계속 3이 반복되는 것)과 비슷해요. 그래서 컴퓨터는 이런 숫자를 정확하게 저장할 수 없고, 대신 아주 근사한 값을 저장해요.

이로 인해 3 0.1을 계산할 때, 컴퓨터는 0.1을 완벽하게 표현하지 못하고 약간의 오차가 있는 값으로 계산하게 돼요. 그래서 3 0.1을 계산하면 0.3 대신에 0.30000000000000004 같은 결과가 나올 수 있는 거죠.

 

jwbaek4님의 프로필 이미지
jwbaek4
Người đặt câu hỏi

감사합니다.^^

Hình ảnh hồ sơ của jwbaek42177
jwbaek42177

câu hỏi đã được viết

Đặt câu hỏi