Answered by:
future 128bit integer data type for high precision, numeric processing
Question

was curious if there are plans for a "doubleLONG" data type in VB.net (or any of the visual studio 20xx components), some high precision calculations cause 64bit LONG overflow, and use of DEC data type offers up to 2**96 1 values, however, the calculation and conversion to / from LONG to DECIMAL is time consuming.
operation in particular is high precision multiplication  ie see Donald Knuth, Art of Programming, c1998, section 4.3.3  how fast can we multiply; the convolution process uses an accumulator that overflows LONG data type when I am using Base=1,000,000,000 instead of base10 operations...
Decimal works for this but is slower...
as of VS 2015 edition, I did not see any new extended data types for numeric processing  am hoping that a 128bit integer is in future plans,
very respectfully,
rich.beck@sbcglobal.net
see Donald Knuth, 1998, section
' 4.3.3 for a discussion of: "How fast can we multiply ???"
Wednesday, December 9, 2015 7:48 PM
Answers

Hi,
BigInteger?
https://msdn.microsoft.com/enus/library/system.numerics.biginteger%28v=vs.110%29.aspx?f=255&MSPPError=2147217396
Regards,
Thorsten
 Proposed as answer by Weiwei Cai Thursday, December 17, 2015 1:34 PM
 Marked as answer by Weiwei Cai Monday, December 21, 2015 9:57 AM
Wednesday, December 9, 2015 8:37 PM 
was curious if there are plans for a "doubleLONG" data type in VB.net (or any of the visual studio 20xx components), some high precision calculations cause 64bit LONG overflow, and use of DEC data type offers up to 2**96 1 values, however, the calculation and conversion to / from LONG to DECIMAL is time consuming.
operation in particular is high precision multiplication  ie see Donald Knuth, Art of Programming, c1998, section 4.3.3  how fast can we multiply; the convolution process uses an accumulator that overflows LONG data type when I am using Base=1,000,000,000 instead of base10 operations...
Decimal works for this but is slower...
as of VS 2015 edition, I did not see any new extended data types for numeric processing  am hoping that a 128bit integer is in future plans,
very respectfully,
rich.beck@sbcglobal.net
see Donald Knuth, 1998, section
' 4.3.3 for a discussion of: "How fast can we multiply ???"
I'm curious what application you are using that demands 128 bit integers? Why won't 64 bit integers do?
I should add that if there is a particular computation where you are worried about overflow with two 64 bit integers, there are the Multiply128() and UnsignedMultiply128() functions supported in Windows
 Edited by Brian Muth Wednesday, December 9, 2015 11:34 PM
 Proposed as answer by Weiwei Cai Thursday, December 17, 2015 1:34 PM
 Marked as answer by Weiwei Cai Monday, December 21, 2015 9:57 AM
Wednesday, December 9, 2015 10:54 PM
All replies

Hi,
BigInteger?
https://msdn.microsoft.com/enus/library/system.numerics.biginteger%28v=vs.110%29.aspx?f=255&MSPPError=2147217396
Regards,
Thorsten
 Proposed as answer by Weiwei Cai Thursday, December 17, 2015 1:34 PM
 Marked as answer by Weiwei Cai Monday, December 21, 2015 9:57 AM
Wednesday, December 9, 2015 8:37 PM 
was curious if there are plans for a "doubleLONG" data type in VB.net (or any of the visual studio 20xx components), some high precision calculations cause 64bit LONG overflow, and use of DEC data type offers up to 2**96 1 values, however, the calculation and conversion to / from LONG to DECIMAL is time consuming.
operation in particular is high precision multiplication  ie see Donald Knuth, Art of Programming, c1998, section 4.3.3  how fast can we multiply; the convolution process uses an accumulator that overflows LONG data type when I am using Base=1,000,000,000 instead of base10 operations...
Decimal works for this but is slower...
as of VS 2015 edition, I did not see any new extended data types for numeric processing  am hoping that a 128bit integer is in future plans,
very respectfully,
rich.beck@sbcglobal.net
see Donald Knuth, 1998, section
' 4.3.3 for a discussion of: "How fast can we multiply ???"
I'm curious what application you are using that demands 128 bit integers? Why won't 64 bit integers do?
I should add that if there is a particular computation where you are worried about overflow with two 64 bit integers, there are the Multiply128() and UnsignedMultiply128() functions supported in Windows
 Edited by Brian Muth Wednesday, December 9, 2015 11:34 PM
 Proposed as answer by Weiwei Cai Thursday, December 17, 2015 1:34 PM
 Marked as answer by Weiwei Cai Monday, December 21, 2015 9:57 AM
Wednesday, December 9, 2015 10:54 PM