Я только начинаю с python (python3), потому что я читаю его полезность для проекта эйлера, так как он может обрабатывать очень большие числа.python long number data loss
сейчас я борюсь с довольно простой проблемой преобразования float в int. Почему я не получаю тот же результат для этого:
num = 6008514751432349174082765599289028910605977570
print('num {0} '.format(int(num)))
num = num/2
print('num /2 {0} '.format(int(num)))
num = num * 2
print('num *2 {0} '.format(int(num)))
выход для этого:
num 6008514751432349174082765599289028910605977570
num /2 3004257375716174771611310192874715313222975488
num *2 6008514751432349543222620385749430626445950976
ах, идеальный. спасибо – santa
@MartijnPieters, когда кто-то использует '//' вместо '/'? – dustin
@ dustin: если вы хотите применить целочисленное деление (поэтому результатом является 'int') вместо значения с плавающей запятой. –