【问题标题】:C++ to VB.NET conversionC++ 到 VB.NET 的转换
【发布时间】:2020-02-25 02:10:29
【问题描述】:

我在将以下 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?

VB.NET 转换是什么样的?

【问题讨论】:

标签: c++ vb.net


【解决方案1】:
  1. VB.NET 支持使用与 C 和 C++ 相同的 &lt;&lt;&gt;&gt; 运算符进行位移。

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

    wtemp = wr
    wr = wtemp * wpr - wi * wpi + wr
    

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

    wtemp = wr
    wr = ( wtemp * wpr ) - ( wi * wpi ) + wr
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 2010-09-11
    相关资源
    最近更新 更多