Submit and pass all tests to enable saving to GitHub.
Implementation
Why This Matters
This is the real layout of CPython's longobject.c and longintrepr.h — 30-bit digit limbs chosen specifically so intermediate multiplication never overflows a C long. The small-integer cache you're simulating (-5 to 256) is why 'a = 5; b = 5; print(a is b)' prints True in every real CPython interpreter, a quirk that trips up beginners debugging identity vs. equality.
Hints
0 / 3 revealed
Sample validation
Sample case for Run. Submit grades this sample plus all hidden tests.
main.c
Workspace 1.0
Write a C program documenting Python integer internals.
Requirements:
Define a struct simulating PyLongObject with digit array
Show how a large integer (e.g., 1234567890123) would be stored as 30-bit digits
Implement a function to split a 64-bit integer into 30-bit limbs
Print the digits in little-endian order (least significant first)
Demonstrate small integer caching conceptually (-5 to 256)