GithubHelp home page GithubHelp logo

bigint's Introduction

bigint

C++ Library for representing large numbers and computing on them

To use, include bigint.h in your source file and make bigint.cpp (which contains all the implementations) available for linking.

The class makes use of a vector container to store the digits of the number, thus the largest number that can be stored is limited only by the number of elements a vector can hold, which is typically 1073741823 digits on most system implementations.

The C++ arithmetic, relational, increment/decrement, bitwise and assignment operators have been overloaded for this class. Also, some C++ standard library functions like abs() and to_string() have also been overloaded for this class.

This project was intended to acquaint myself with basic object-oriented programming and operator overloading in C++.

Issues:

  • factorial function sometimes gives the factorial of the number 1 less than the number passed as argument. (Eg. factorial(34) sometimes gives the correct factorial of 34, other times it gives factorial of 33.) Cause of this bug is unknown.
  • Division of bigint by bigint isn't fully supported. As of now, bigints can only be divided by numbers small enough to be expressible as long long int.

Tested in g++ 5.4.0.

bigint's People

Contributors

siddharthvp avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.