정수부의 자리수가 조금 큰 부동소수점수(64비트 double 포맷의 수)를 십진수 표현으로 출력해 보았습니다.
십진수로 표현하면 유효자리수 개수가 약 14~15개 정도인데,
Java 언어로는 유효수자 개수를 17개로 자르고 그 뒤를 모두 0으로 출력하였고,
C# 언어로는 유효수자 개수를 15개로 자르고 그 뒤를 모두 0으로 출력하였지만,
Python 언어로는 유효수자 아래 부분을 자르지 않고 모두 츨력합니다.
Pyhon 은 C/C++ 의 경우와 비슷합니다.
물론 Java, C#, Python, C, C++ 어느 프로그램 언어든
십진수로 표현할 때 자르는 방법이나 유효수자 아래 부분을 채우는 방법은 다르지만,
덧셈, 뺄셈, 곱셈, 나누셈, 기타 등등에서 유효수자 아래부분의 처리 결과는 대동소이합니다.
# -*- coding: utf-8 -*-
#
# Filename: Test_Of_Native_Double_Precison_01.py
#
#
#
# Execute: python Test_Of_Native_Double_Precison_01.py
# Output:
# math.pow(2, 128) = 340282366920938463463374607431768211456.000000
# math.pow(2, 128) = 340282366920938463463374607431768211456
# 2**128 = 340282366920938463463374607431768211456
#
#
# ------------------------------------------------------
# 출처: https://scripting.tistory.com/
# ------------------------------------------------------
import math
def test_01():
y = math.pow(2, 128)
print("math.pow(2, 128) = %f" % y)
print("math.pow(2, 128) = %.f"% y)
z = 2**128
print(" 2**128 = %d" % z)
if __name__ == "__main__":
test_01()
print("")
'프로그래밍 > Python' 카테고리의 다른 글
Python의 math.floor() 함수에 대한 문제점(?) 고찰 (1) | 2023.01.11 |
---|---|
0.1 + 0.2 의 계산 결과가 0.3 이 되게 하기 (0) | 2023.01.05 |
wxPython을 이용한 간단한 웹 브라우저 소스 몇 가지 (0) | 2020.11.29 |
wxPython 4.1.1 (현재 최신 버전) 설치하기 (0) | 2020.11.28 |
PyGTK 릉 이용한 RPN 계산기 (0) | 2014.08.16 |