#(2^((2^(w-1))-1))*(2-(2^-t))
#(2^((2^(123-1))-1))*(2-(2^-17179869060))
from decimal import *
getcontext().prec = 100
from decimal import localcontext
with localcontext() as ctx:
print(ctx.Emax) # デフォルトの指数上限は999999なので、今回の計算だと足りない
ctx.Emax = 10**10**5 # 指数上限を増やす
#指数部
w = 123
#仮数部
t = 17179869060
a = ctx.power(2,(w - 1))
b = ctx.power(2,(a - 1))
print(b)
c = t * -1
d = ctx.power(2,c)
print(d)
e = (b * 2 - b * d)
#最大値
print(e)
#必要に応じて有効桁を調整する
format_str = "{:.1e}".format(e)
print(format_str)
f = e.log10()
#桁数-1
print(f)
g = f.log10()
#桁数の桁数-1
print(g)
h = ctx.power(2,t)
i = h.log10()
#有効桁数
print(i)
IygyXigoMl4ody0xKSktMSkpKigyLSgyXi10KSkKIygyXigoMl4oMTIzLTEpKS0xKSkqKDItKDJeLTE3MTc5ODY5MDYwKSkKZnJvbSBkZWNpbWFsIGltcG9ydCAqCmdldGNvbnRleHQoKS5wcmVjID0gMTAwCmZyb20gZGVjaW1hbCBpbXBvcnQgbG9jYWxjb250ZXh0CndpdGggbG9jYWxjb250ZXh0KCkgYXMgY3R4OgogICAgcHJpbnQoY3R4LkVtYXgpICMg44OH44OV44Kp44Or44OI44Gu5oyH5pWw5LiK6ZmQ44GvOTk5OTk544Gq44Gu44Gn44CB5LuK5Zue44Gu6KiI566X44Gg44Go6Laz44KK44Gq44GECiAgICBjdHguRW1heCA9IDEwKioxMCoqNSAjIOaMh+aVsOS4iumZkOOCkuWil+OChOOBmQogICAgI+aMh+aVsOmDqAogICAgdyA9IDEyMwogICAgI+S7ruaVsOmDqAogICAgdCA9IDE3MTc5ODY5MDYwCiAgICBhID0gY3R4LnBvd2VyKDIsKHcgLSAxKSkKICAgIGIgPSBjdHgucG93ZXIoMiwoYSAtIDEpKQogICAgcHJpbnQoYikKICAgIGMgPSB0ICogLTEKICAgIGQgPSBjdHgucG93ZXIoMixjKQogICAgcHJpbnQoZCkKICAgIGUgPSAoYiAqIDIgLSBiICogZCkKICAgICPmnIDlpKflgKQKICAgIHByaW50KGUpCiAgICAj5b+F6KaB44Gr5b+c44GY44Gm5pyJ5Yq55qGB44KS6Kq/5pW044GZ44KLCiAgICBmb3JtYXRfc3RyID0gIns6LjFlfSIuZm9ybWF0KGUpCiAgICBwcmludChmb3JtYXRfc3RyKQogICAgZiA9IGUubG9nMTAoKQogICAgI+ahgeaVsC0xCiAgICBwcmludChmKQogICAgZyA9IGYubG9nMTAoKQogICAgI+ahgeaVsOOBruahgeaVsC0xCiAgICBwcmludChnKQogICAgaCA9IGN0eC5wb3dlcigyLHQpCiAgICBpID0gaC5sb2cxMCgpCiAgICAj5pyJ5Yq55qGB5pWwCiAgICBwcmludChpKQog