我在VB中要做這樣的運算:68723397924 Mod 16777216
計算時overflow .我還要做類似的計算,其中16777216是固定不變的,
68723397924有可能是其它的11位的數字.上例的結果應為3921188,而對於結果我只需取得後六位即可.我該怎樣做??

解决方案 »

  1.   

    还是连减吧
    68723397924-Int(68723397924/16777216)
    试试这样?
      

  2.   

    错了
    68723397924-Int(68723397924/16777216)*16777216
    是这样
      

  3.   

    呵呵,只要6位,这样:
    Option ExplicitPrivate Sub Command1_Click()
        Debug.Print myMOD(68723397924#, 16777216)
    End SubPrivate Function myMOD(num1 As Double, num2 As Double) As Double
        myMOD = num1 - Int(num1 / num2) * num2
        myMOD = Math.Round(myMOD, 0)
        Dim s As String
        s = CStr(myMOD)
        s = Right(s, 6)
        myMOD = CDbl(s)
        myMOD = Math.Round(myMOD, 0)
    End Function