add sub storetomemr 'xto avoid this level of complexityhigh-level programming languages add another layer of abstraction above the assembly language level this abstraction is provided through primitive data type for storing integer values and set of well-defined operations that can be performed on those values by providing this level of abstractionprogrammers can work with variables storing decimal values and specify mathematical expressions in more familiar notation ( than is possible with assembly language instructions thusa programmer does not need to know the assembly language instructions required to evaluate mathematical expression or understand the hardware implementation in order to use integer arithmetic in computer program software-implemented software-implemented big big integers integers higher level high-level high-level language language instructions instructions assembly assembly language language instructions instructions hardware hardware implementation implementation lower level figure levels of abstraction used with integer arithmetic one problem with the integer arithmetic provided by most high-level languages and in computer hardware is that it works with values of limited size on -bit architecture computersfor examplesigned integer values are limited to the range - ( what if we need larger valuesin this casewe can provide long or "big integersimplemented in software to allow values of unlimited size this would involve storing the individual digits and implementing functions or methods for performing the various arithmetic operations the implementation of the operations would use the primitive data types and instructions provided by the high-level language software libraries that provide big integer implementations are available for most common programming languages pythonhoweveractually provides software-implemented big integers as part of the language itself abstract data types an abstract data type (or adt is programmer-defined data type that specifies set of data values and collection of well-defined operations that can be performed on those values abstract data types are defined independent of their