Как работает python бесконечное представление битов? - PullRequest
0 голосов
/ 12 апреля 2020

Я недавно изучил python и читал о бесконечном битовом представлении целых чисел в python, но на самом деле не понимал технологию или математику, стоящую за ней. Итак, кто-нибудь здесь знает, как это работает?

Я читал об этом по этой ссылке, изучая побитовые операторы:

https://wiki.python.org/moin/BitwiseOperators

1 Ответ

0 голосов
/ 12 апреля 2020

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

Любое целое число конечно и может быть выражено в конечной форме. Таким образом, один из способов справиться с этим - иметь соглашение о том, что первый бит в массиве - это то, что повторяется бесконечно. Например:

-5 = 11111011 = ...1111111011
+3 = 00000011 = ...0000000011

Где для этих примеров я показал фиксированное 8-битное представление каждого числа вместе с его «бесконечным» представлением.

Это в основном BitArrays , из которого мы можем затем реализовать арифметику c поверх.

...