c# - 将 C++ 代码转换为 C# 用于加密算法

标签 c# c++ c

看这段代码

 h = (c >> 4) & 0xf;
 l = c & 0xf;
 printf(h + 'x');

如何将此代码转换为 C#?

最佳答案

那 printf 是完全错误的,你正试图从一个没有转换的整数中创建一个指针,而且你肯定不想将数字转换为 const char*。假设它是为了打印假定的无符号整数。等价于:

System.Console.WriteLine(120 + (c / 16));

或者学究气:

UInt32 h = (c >> 4) & 0xF;
System.Console.WriteLine('x' + h);

我会注意到不需要按位操作,任何体面的编译器都会为您完成。

UInt32 h = c / 16;
System.Console.WriteLine(120 + h);

该代码中甚至没有使用 l 变量,但在 C# 中它将是:

UInt32 l = c & 0xF;

哪个写得更好:

UInt32 l = c % 16;

关于c# - 将 C++ 代码转换为 C# 用于加密算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8148481/

相关文章:

c++ - CUDA C++11,lambda 数组,按索引函数,不工作

C++ 删除运算符。如何正确使用?

c - sendto 失败 UNIX 域套接字

c++ - gcc -O2 的含义

c# - Visual Studio Intellisense 显示 "new expression can be simplified",但构建失败

C# 将负 int 转换为 11 位

c# - 多行文本框根据文本量自动调整高度

c# - 我怎样才能找到两个大字符串之间的 lcs 长度

c++ - 我能知道 QNetworkAccessManager 是否处理完所有的 http 请求吗?

C指针指针问题