Pull to refresh

Comments 8

(97! mod (2 ** 256 - 2 ** 32 - 977)) в двоичном виде 1110101100010111000101111101011111011000010100111011111110100010100110010111011011000101110110110100111011010101000100000101010111001000110000010001101001111001111100011110101011100001111110101011110111111000101100001111011111001110101000100101111001100101000000000101110110101011000010011010101011001111100011010111111100111010011000000001110111100101100001110000110000001100011000110001110111100100101110101110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, что дает 506 бит, что не около 500.

Хотя в целом идея для степеней двойки разобрана в большом количестве учебников, но на других языках программирования.

506 отличается от 500 всего на 1,2 %, так что вполне себе около. :)

Но только не в двоичной системе счисления.

2^506-2^500=206223608297456937810830950900138746589648448900713081737447356190056429173494496957646015816531961900505861100036284473580687162390779762359697238130688, что как раз и дает 1% погрешности :)).

Если мы говорим о числах, представимых с помощью 506 и 500 бит, то она большая, но это не значит, что 506 и 500 сильно отличаются.

Не очень понял, почему вы вычитаете одно из другого. Тут уместнее деление. Правда, разница в 6 двоичных порядков уже не так смотрится, как ворох цифр. :)

Ну хорошо, давайте делить. (2^506)/(2^500)=2^6=64 раза. То есть автор статьи ошибся в 64 раза в своем утверждении о битности. В жизни, допустим, вам никогда сдачу в магазине в 64 раза не уменьшали?

И что? Цель — передать порядок числа, показать, что оно очень большое. Точное значение никакого интереса не представляет и на дальнейшие рассуждения никак не влияет.

Заметьте, что речь идёт о порядке, а не о значении. Это разные вещи. Так что ошибка именно около процента, а не в 64 раза.

Аналогия со сдачей неуместна, так как там как раз нужна точность.

Sign up to leave a comment.

Articles