Skip to content

[FREEZED] Bit Big Int Algorithm. This is a fast big int, which is independent from language or platfrom.

License

Notifications You must be signed in to change notification settings

bgoncharuck/bbia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bit Big Integer Algorithm v. 0.2.0

BBIA is superstructure on system integer, a fast and language independent algorithm which can save Nbit integer.

Mathematical Interpretation

The max value that can be saved with this algorithm is two, in power of two in power of max integer value, decreased by one (2^(2^N-1))-1

For 32bit integer max value is (2^(2^32-1))-1 and need 15.(9) == 16 GigaByte of RAM (2^32-1 * 4 byte) to save it

For 64bit integer max value is (2^(2^64-1))-1 and need 127.(9) == 128 ExaByte of RAM (2^64-1 * 8 byte) to save it

Don't forget to count additional integer for sign and used level save. Also need extra memory for operations. The bigger count of levels the more memory you need for this operations.

Also BBIA can be considered as canonical and shifted numeric system of integer values with additional sign save [pure, positional, with direct presentation of forms and natural weight order]

Decimal Binary Code == "8,4,2,1" (direct)

min == 0000..0 [Nbit] max == 1111..1 [Nbit] => min == 0 max == -1 (for any signed integer datatype used as level)

Releases

FREEZED

Syntax

Algorithm will be written in C language syntax. Some languages don't have unsigned integer type, so was created Signed To Unsigned and Arithmetic Algorithm for BBIA

Languages

Before release, any working code can be found in Algorithm subfolder. If you try to use other realizations (languages) that will not work.

It will support any statically typed language. I will add simple port to C (unsigned ver), Java, C# and JavaScript for every release. Will be added Rust version. You are free to add other languages.

What works for now? : Operations

  • STUAA (bitflag, shiftr, outofbounders)
  • bitflag, multi bitflag
  • bits fulll/empty till
  • bitshift right, bitshift left
  • bbia and integer sum
  • bbia and integer dif
  • bbia and integer multiplication
  • bbia and integer division
  • bbia and bbia sum, dif, multiplication, division
  • from and to base of 2 in string
  • sqrt, log (base, bbia)

What works for now? : Languages

  • Algorithm Version (Clang 32 bit)
  • 32bit : C# in progress
  • JavaScript (NodeJS) in progress

Current tested bit sizes for 32bit integer size

2^30 bits and 4byte integer

2^(2^30)-1 is max value

needs 4 GigaByte of RAM to store

computer with 8 GigaBytes of RAM can easily store it

computer with 32 GigaBytes of RAM is comfortable to use arithmetic operations with it

2^29 bits and 4byte integer

2^(2^29)-1 is max value

needs 2 GigaByte of RAM to store

computer with 4 GigaBytes of RAM can easily store it

computer with 16 GigaBytes of RAM is comfortable to use arithmetic operations with it

About

[FREEZED] Bit Big Int Algorithm. This is a fast big int, which is independent from language or platfrom.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published