정수부의 자리수가 조금 큰 부동소수점수(64비트 double 포맷의 수)를 십진수 표현으로 출력해 보았습니다.
십진수로 표현하면 유효자리수 개수가 약 14~15개 정도인데,
Java 언어와 C# 언어에서는 유효수자 개수로 자르고 그 뒤를 모두 0으로 출력지만,
Ruby 언어에서는 Python, C/C++ 언어들 처럼 유효수자 아래 부분을 자르지 않고 모두 츨력합니다.
물론 Java, C#, Python, C, C++ 어느 프로그램 언어든
십진수로 표현할 때 자르는 방법이나 유효수자 아래 부분을 채우는 방법은 다르지만,
덧셈, 뺄셈, 곱셈, 나누셈, 기타 등등에서 유효수자 아래부분의 처리 결과는 대동소이합니다.
# -*- coding: utf-8 -*-
#
# Filename: Test_Of_Native_Double_Precison_01.rb
#
#
# Execute: ruby Test_Of_Native_Double_Precison_01.rb
# Output:
# 2.pow(128) = 340282366920938463463374607431768211456.000000
# 2.pow(128) = 340282366920938463463374607431768211456
# 2**128 = 340282366920938463463374607431768211456
# 2**64 * 2**64 = 340282366920938463463374607431768211456
#
#
# ------------------------------------------------------
# 출처: https://scripting.tistory.com/
# ------------------------------------------------------
def test_01()
y = 2.pow(128)
print(" 2.pow(128) = %f\n" % y)
print(" 2.pow(128) = %.f\n"% y)
z = 2**128
print(" 2**128 = %d\n" % z)
print(" 2**64 * 2**64 = %d\n" % (2**64 * 2**64))
end
test_01()
print
'프로그래밍 > Ruby' 카테고리의 다른 글
Ruby 언어로 평방근, 입방근, n제곱근 구하는 함수를 구현하고 테스트하기 (0) | 2013.01.11 |
---|---|
Ruby 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제 (0) | 2013.01.01 |
높은 버전(1.9.2 이상)의 Ruby 언어에서 (UTF-8 인코딩) 한글 문자열 거꾸로 하기 (0) | 2012.12.06 |
Mac OS X Lion 에서 Ruby 1.9.2 설치하여 Tk GUI 사용하기 (0) | 2011.08.25 |
숫자 맞추기 게임 with Ruby (0) | 2009.11.05 |