- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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:
- 64-bit Visual Basic for Applications Overview
- Feedback and Support for VBA
- LongLong Data Type 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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
