Hallo Zusammen,
ich vertrete eine Kollegen, welcher in VB .NET ein tool geschrieben hat. Ich Selber Entwickle auf C++ und kenn den Fehler wie unten so nicht.
Die arithmetische Operation hat einen Überlauf verursacht
in der letzten Zeile, wo ich den Uint32 in einen Int32 wandeln möchte, wird folgender Fehler geworfen "Die arithmetische Operation hat einen Überlauf verursacht"
hier noch die Ergebnisse er einzelnen Zeilen
1. 255
2. 255
3. 255
4. 255
5. 4278190080
6. 4294901760
7. 4294967040
8. 4294967295
9.Die arithmetische Operation hat einen Überlauf verursacht
Wo liegt denn Hier der Fehler?
Fehler wurde behoben mit folgendem Code
ich vertrete eine Kollegen, welcher in VB .NET ein tool geschrieben hat. Ich Selber Entwickle auf C++ und kenn den Fehler wie unten so nicht.
Die arithmetische Operation hat einen Überlauf verursacht
VB.NET-Quellcode
- Dim pos0 As UInt32 = returnVals(i)
- Dim pos1 As UInt32 = returnVals(i + 1)
- Dim pos2 As UInt32 = returnVals(i + 2)
- Dim pos3 As UInt32 = returnVals(i + 3)
- Dim newVal As UInt32 = pos0 * &H1000000
- newVal += (pos1 * &H10000)
- newVal += (pos2 * &H100)
- newVal += (pos3 * 1)
- Dim newValInt As Int32 = CInt(newVal)
in der letzten Zeile, wo ich den Uint32 in einen Int32 wandeln möchte, wird folgender Fehler geworfen "Die arithmetische Operation hat einen Überlauf verursacht"
hier noch die Ergebnisse er einzelnen Zeilen
1. 255
2. 255
3. 255
4. 255
5. 4278190080
6. 4294901760
7. 4294967040
8. 4294967295
9.Die arithmetische Operation hat einen Überlauf verursacht
Wo liegt denn Hier der Fehler?
Fehler wurde behoben mit folgendem Code
VB.NET-Quellcode
- Dim pos0 As UInt32 = returnVals(i)
- Dim pos1 As UInt32 = returnVals(i + 1)
- Dim pos2 As UInt32 = returnVals(i + 2)
- Dim pos3 As UInt32 = returnVals(i + 3)
- Dim newVal As UInt32 = pos0 * &H1000000
- newVal += (pos1 * &H10000)
- newVal += (pos2 * &H100)
- newVal += (pos3 * 1)
- Dim newValInt As Int32 = Convert.ToInt32(newVal.ToString("X8"), 16)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „zwick88“ ()