What's the best method for returning an unsigned long from a vector of ints? I'm working on a BigInt class in c++ and I'm storing the large numbers in a vector. I want to write a method that will return this vector as a standard long, provided it isn't larger than unsigned long can hold. Thanks
Return an unsigned long from vector of ints c++
685 Views Asked by mike At
1
There are 1 best solutions below
Related Questions in C++
- Doctrine batch inserting uses 2GB of Ram
- Adding a callback when reading from an object in Twig
- Using Twig variable in AngularsJS
- Twig : Unescape hexadecimal text
- Symfony : is it better to use a trait or an intermediary class to complete Controller one?
- Symfony 2 form - date widget and validator
- Persisting other entities inside preUpdate of Doctrine Entity Listener
- Symfony2 - Custom annotation loading
- Display a findAll() result in a form
- What is the point of the name method in the symfony2 annotation?
Related Questions in VECTOR
- Doctrine batch inserting uses 2GB of Ram
- Adding a callback when reading from an object in Twig
- Using Twig variable in AngularsJS
- Twig : Unescape hexadecimal text
- Symfony : is it better to use a trait or an intermediary class to complete Controller one?
- Symfony 2 form - date widget and validator
- Persisting other entities inside preUpdate of Doctrine Entity Listener
- Symfony2 - Custom annotation loading
- Display a findAll() result in a form
- What is the point of the name method in the symfony2 annotation?
Related Questions in UNSIGNED
- Doctrine batch inserting uses 2GB of Ram
- Adding a callback when reading from an object in Twig
- Using Twig variable in AngularsJS
- Twig : Unescape hexadecimal text
- Symfony : is it better to use a trait or an intermediary class to complete Controller one?
- Symfony 2 form - date widget and validator
- Persisting other entities inside preUpdate of Doctrine Entity Listener
- Symfony2 - Custom annotation loading
- Display a findAll() result in a form
- What is the point of the name method in the symfony2 annotation?
Related Questions in BIGINT
- Doctrine batch inserting uses 2GB of Ram
- Adding a callback when reading from an object in Twig
- Using Twig variable in AngularsJS
- Twig : Unescape hexadecimal text
- Symfony : is it better to use a trait or an intermediary class to complete Controller one?
- Symfony 2 form - date widget and validator
- Persisting other entities inside preUpdate of Doctrine Entity Listener
- Symfony2 - Custom annotation loading
- Display a findAll() result in a form
- What is the point of the name method in the symfony2 annotation?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Something along these lines, assuming the ints are stored in the vector with the least significant first:
Notes:
1) In practice you could save some bother because the number of loops is going to be either 1 or 2 on any vaguely normal-looking C++ implementation. So you could just write a case where you return
the_ints[0]
and a case where you returnthe_ints[0] + (the_ints[1] << bits_in_int)
.2) I've been lazy. Because
int
is signed andunsigned long
is unsigned, you can actually fit at least oneint
plus the least significant bit of anotherint
into anunsigned long
. For example you might findbits_in_int
is 31 butbits_in_long
is 32.So actually in the "failed" case there is one last hope for peace, which is that (a) there is only one
int
left to process, and (b) its value fits in the remaining bits of the result. But like I say, I'm lazy, and I think I've shown the components you need to put together.For this reason if no other, you should probably use a vector of
unsigned int
for your BigInt. It's not required that the width ofunsigned long
is a multiple of the number of bits inunsigned int
, but it might be strange enough that you can ignore it.Update for base 10 digits, stored most significant first: