小编Ale*_*ulx的帖子

将C++位模式转换为Java

我正在将一个C++程序转换为Java并完全停留在以下方法中,这让我大吃一惊.你愿意解释一下这种方法在做什么吗?

long TSBCA::GetSignedValue(const NDataString &value)
    {
       static NDataString s;    
       s = value;

       long multiplier(1);
       size_t len(s.Len());
       if (len != 0)
       {
          if (s[0] >= (char)0xB0 && s[0] <= (char)0xB9)
          {
             s[0] &= 0x7F; //Bit Pattern: 0111 1111
             multiplier = -1;
          }
          else if (s[len - 1] >= (char)0xB0 && s[len - 1] <= (char)0xB9)
          {
             s[len - 1] &= 0x7F; //Bit Pattern: 0111 1111
             multiplier = -1;
          }
          else
             multiplier = 1;
       }
       else
          multiplier = 1;
       return s.ToLong() * …
Run Code Online (Sandbox Code Playgroud)

c++ java bit

5
推荐指数
1
解决办法
518
查看次数

标签 统计

bit ×1

c++ ×1

java ×1