Intel® Xeon® Processor and Server Products
Intel® Xeon® Processors, Data Center Products including boards, integrated systems, and RAID Storage
5121 Discussions

Division in LongLong (64 bit) integers

Gary_Hogan
Beginner
1,106 Views

Problem:
In Visual Basic Application, simple division gives the wrong answer.

Dim I As LongLong
I = 6938843057314369023^ / 10^

Bug Example:

'
' Copyright 2025 by Gary E. Hogan, PhD
' VBA code run under Excel on 64-bit machine
'
Option Explicit

Sub Example()
Dim I As LongLong
I = 6938843057314369023^ / 10^
Debug.Print "6938843057314369023^ / 10^ = " & I
Debug.Print "Should be: " & 693884305731436902^
Debug.Print "Difference: " & 693884305731436902^ - I
End Sub

Output:
6938843057314369023^ / 10^ = 693884305731436851
Should be: 693884305731436902
Difference: 51

Processor: 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz 3.30 GHz

Windows: Windows 11 Home
Version: 24H2
Build: 26100.3775

Program version: Microsoft 365 - en-us
Version: 16.0.18730.20072

0 Kudos
10 Replies
Subhashish
Employee
1,046 Views

Hello Gary_Hogan,


Greetings from Intel !!



Appreciate you posting your question here. Since the product you selected was 'Server Products', your query has reached our Enterprise Support team. We’re now routing it to the appropriate team who can best assist you with your concern.




Regards,

Subhashish_Intel


0 Kudos
ArchieD_Intel
Moderator
995 Views

Hi Gary_Hogan,

 

Thank you for reaching out to the Intel Community Forum. To assist us in investigating the issue, please provide the following details:

 

What is the platform you're using for the Visual Basic?

What is the exact version of this platform?

 

Additionally, to gain a comprehensive understanding of your system, please use the System Support Utility (SSU). This tool will generate a text file compiling all your system information. You can follow the instructions at this link and send the text file here. Help Guide for the Intel® System Support Utility.

 

If you have any questions, please let us know. Thank you.

 

Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
Gary_Hogan
Beginner
985 Views

Here is the details you asked for

0 Kudos
ArchieD_Intel
Moderator
962 Views

Hi Gary_Hogan,

 

Thank you for the update. I will check this in my end however to be able to replicate the issue, please confirm the following:


What is the platform you're using for the Visual Basic?

What is the exact version of this platform?

 

If you have any questions, please let us know. Thank you.

 

Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
Gary_Hogan
Beginner
958 Views

As stated in the original post (attached), I am running Visual Basic  Application in a 64-bit version of Excel.


Processor: 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz 3.30 GHz

Windows: Windows 11 Home
Version: 24H2
Build: 26100.3775

Program version: Microsoft 365 - en-us
Version: 16.0.18730.20072

0 Kudos
ArchieD_Intel
Moderator
916 Views

Hi Gary_Hogan,

 

Thank you for providing the requested information. I will investigate this and will get back to you once a resolution is available. Thank you for your patience and understanding.

 

Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
ArchieD_Intel
Moderator
893 Views

Hi Gary_Hogan,


It seems that the problem is due to precision limitations when performing arithmetic operations with large numbers. While the LongLong data type in VBA is designed to handle large integers, it can still face precision challenges with extremely large values, especially during division.


For situations like this, I recommend contacting Microsoft Support directly for assistance with Excel and VBA-related issues. Here are some helpful links for your reference:



Additionally, could you please let me know how you determined that this is a processor-related issue, as it should be best to report it directly to Microsoft. Thank you.


Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
Gary_Hogan
Beginner
830 Views

Fourth point, I have no way of knowing if 64-bit math on a 64-bit machine is a machine or software issue. It could be either.

Third point, I have been ignored on the MS forums I have reported this on.

Second point. Integer arithmetic should be precise and predictable or it is not working.  This is not floating point with a vague precision limit. This is not a "precision challenge." LongLong is broken! And people will point fingers, as I have, at both MS and Intel.

Finally, please, did you even confirm that this bug exists? I only have the one 64-bit machine and do not know  if this is reproducible by others.

Yours,

      Gary Hogan

0 Kudos
ArchieD_Intel
Moderator
790 Views

Hi Gary_Hogan,


Thank you for the update. I will look into this further and will update you as soon as a solution is found. I appreciate your patience and understanding.


Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
ArchieD_Intel
Moderator
749 Views

Hi Gary_Hogan,


The problem appears to stem from Microsoft's VBA in 64-bit Excel handling LongLong division, rather than any issue with Intel hardware. Intel processors accurately perform standard 64-bit integer division. However, if VBA's internal implementation or compiler generates incorrect machine instructions or fails to manage 64-bit math correctly, it would be a software issue on Microsoft's end. Consequently, any necessary fix or patch would need to come from Microsoft, not Intel.


Since this is the case, I will close this inquiry now. If you need further assistance, please submit a new question as this thread will no longer be monitored.


Best regards,

 

Archie D.

Intel Customer Support Technician


0 Kudos
Reply