Типы данных, такие как int
в C, напрямую (более или менее) отображаются на типы данных, поддерживаемые процессором. Таким образом, ограничения на C int
по сути являются ограничениями, налагаемыми аппаратным обеспечением процессора.
Но можно реализовать собственный тип данных int
полностью в программном обеспечении. Например, вы можете использовать массив цифр в качестве основного представления. Может быть так:
class MyInt {
private int [] digits;
public MyInt(int noOfDigits) {
digits = new int[noOfDigits];
}
}
Как только вы это сделаете, вы можете использовать этот класс и хранить целые числа, содержащие столько цифр, сколько вы хотите, до тех пор, пока у вас не закончится память.
Возможно, Python делает что-то подобное внутри своей виртуальной машины. Вы можете прочитать эту статью об Арифметике произвольной точности, чтобы узнать подробности.