Multiplicacion de numeros GRANDES!!!
Hola, tengo el siguiente problema: quiro multiplicar los valores D0F874AC por BC737E69 que tendria que dar B898828C (3505943724 por 3161685609 que tendria que dar 3097002636). Obviamente el resultado esta simplificado a dword (solo de 8 letras hexa), sino seria mucho mas grande. La cosa es que no se como hacer esto en el visual basic. Ya probe con lo siguiente:
If EAX > 1.15292150460685E+18 Then
Do Until EAX <= 1.15292150460685E+18
EAX = EAX - 1.15292150460685E+18
Loop
End If
If EAX > 7.20575940379279E+16 Then
Do Until EAX <= 7.20575940379279E+16
EAX = EAX - 7.20575940379279E+16
Loop
End If
If EAX > 4.5035996273705E+15 Then
Do Until EAX <= 4.5035996273705E+15
EAX = EAX - 4.5035996273705E+15
Loop
End If
If EAX > 281474976710656# Then
Do Until EAX <= 281474976710656#
EAX = EAX - 281474976710656#
Loop
End If
If EAX > 17592186044416# Then
Do Until EAX <= 17592186044416#
EAX = EAX - 17592186044416#
Loop
End If
If EAX > 1099511627776# Then
Do Until EAX <= 1099511627776#
EAX = EAX - 1099511627776#
Loop
End If
If EAX > 1099511627776# Then
Do Until EAX <= 1099511627776#
EAX = EAX - 1099511627776#
Loop
End If
If EAX > 68719476736# Then
Do Until EAX <= 68719476736#
EAX = EAX - 68719476736#
Loop
End If
If EAX > 4294967296# Then
Do Until EAX <= 4294967296#
EAX = EAX - 4294967296#
Loop
End If
y ahi lo deberia dejar a un hexa de ocho letras, pero como arriba esta ese "E+18", esos 18 lugares los toma como 0. La cosa es que halla alguna forma de multiplicar para que me de el valor correcto, ya que estoy trabajndo con esos numeros tan grandes. Por favor, si hay algun genio por ahi que me responda ;).
Aunque sea si creen tener la respuesta, pero si no entendieron bien la pregunta, diganme que explico mejor. Por favor alguien que estoy desesperado!!! Saludos
Zaba
If EAX > 1.15292150460685E+18 Then
Do Until EAX <= 1.15292150460685E+18
EAX = EAX - 1.15292150460685E+18
Loop
End If
If EAX > 7.20575940379279E+16 Then
Do Until EAX <= 7.20575940379279E+16
EAX = EAX - 7.20575940379279E+16
Loop
End If
If EAX > 4.5035996273705E+15 Then
Do Until EAX <= 4.5035996273705E+15
EAX = EAX - 4.5035996273705E+15
Loop
End If
If EAX > 281474976710656# Then
Do Until EAX <= 281474976710656#
EAX = EAX - 281474976710656#
Loop
End If
If EAX > 17592186044416# Then
Do Until EAX <= 17592186044416#
EAX = EAX - 17592186044416#
Loop
End If
If EAX > 1099511627776# Then
Do Until EAX <= 1099511627776#
EAX = EAX - 1099511627776#
Loop
End If
If EAX > 1099511627776# Then
Do Until EAX <= 1099511627776#
EAX = EAX - 1099511627776#
Loop
End If
If EAX > 68719476736# Then
Do Until EAX <= 68719476736#
EAX = EAX - 68719476736#
Loop
End If
If EAX > 4294967296# Then
Do Until EAX <= 4294967296#
EAX = EAX - 4294967296#
Loop
End If
y ahi lo deberia dejar a un hexa de ocho letras, pero como arriba esta ese "E+18", esos 18 lugares los toma como 0. La cosa es que halla alguna forma de multiplicar para que me de el valor correcto, ya que estoy trabajndo con esos numeros tan grandes. Por favor, si hay algun genio por ahi que me responda ;).
Aunque sea si creen tener la respuesta, pero si no entendieron bien la pregunta, diganme que explico mejor. Por favor alguien que estoy desesperado!!! Saludos
Zaba
