从C ++到VB.NET的转换

Jol*_*leT 2 c++ vb.net

我被困在将以下C ++行转换为VB.NET。大多数这些似乎涉及位转移,但是,我需要获得<<>>出代码,以及作为一个平等的检查:

   nn = n << 1

   m >>= 1

   istep = mmax << 1

   wr=(wtemp=wr)*wpr-wi*wpi+wr;  //what is the check for wtemp=wr?
Run Code Online (Sandbox Code Playgroud)

VB.NET转换是什么样的?

Dai*_*Dai 7

  1. VB.NET使用与C和C ++ 相同的<<>>运算符来支持位移。

    Dim nn As Int32 = n << 1
    m = m >> 1
    istep = mmax << 1
    
    Run Code Online (Sandbox Code Playgroud)
  2. wr=(wtemp=wr)*wpr-wi*wpi+wr;没有做任何“检查”-这是一个内联分配。在VB.NET中,不能将赋值放在表达式中,因此必须单独进行。

    wtemp = wr
    wr = wtemp * wpr - wi * wpi + wr
    
    Run Code Online (Sandbox Code Playgroud)

    我将添加括号以使其保持可读性,因为不是每个人都能记住确切的运算符优先级(例如我自己):

    wtemp = wr
    wr = ( wtemp * wpr ) - ( wi * wpi ) + wr
    
    Run Code Online (Sandbox Code Playgroud)