Arithmetic Operations on Multiple Byte Integers and an Introduction to Multiple Byte Fractions

EasyChair Preprint no. 5157, version history

VersionDatePagesVersion notes
1March 16, 202113
2May 17, 202115

Arithmetic Operations on Multiple Byte Integers and an Introduction to Multiple Byte Fractions

Introduction:

The computer consists of bits and bytes. The important thing in computer is its word size which can be data or some computer operation, represented by an integer for everything. The largest integers we have been able to work with have been confined to short, an int or a long. In C++ language, for example, these are one byte, two bytes and four bytes long, respectively. For all types, advanced arithmetical operations are made standard for only that domain of type, otherwise the compiler just ignore the function output, no overflow message.

In principle, however, there is no reason to confine an integer to a specific number of bytes: the concept of a list allows us to work with any number of bytes, dynamically determined according to the transient needs of the program.

Integers limit in size made files vulnerable to attacks, even thought they were encrypted, because the size of the private key is limited. Also in real life, the size of amounts of large integers is limited to just more than 4 millions.

3December 20, 202212

Big integers are very essential in many applications. Cryptography is one of these applications. There is an introduction to multiple byte fractions which can do good for accountants. In this study, the objective is to create a multiple byte integer type, with its arithmetic operations defined. The operations are: addition, subtraction, multiplication, division and modular exponentiation are overloaded, to work on this multiple byte integer type. The creation of the multiple byte integer is done by using doubly linked lists, a well known technique in data structure. The reason is that doubly linked lists enable us to create integer of unlimited size. That is, you do not have to pre-specify the size of the arrays storing these integers. This is done by dynamically allocating the memory to store the digits constructing the integers. The operations on these integers are defined using the simple and straight forward techniques, learnt in school. The results obtained are satisfactory and reliable. The type could be extended to help define multiple-byte floating point numbers. In this work, an improvement has been made to the work of BH Flowers.

Keyphrases: Big Data, big numbers, Computer Architecture, data structure, Numerical Computations