【发布时间】:2021-06-15 21:31:55
【问题描述】:
unsigned char setBit(unsigned char ch, int n)
{
unsigned char mask = 1 << n;
return ch | mask;
}
我想在 c# 中将 n 位更改为 1,但我做不到。我只有 c++ 示例。
【问题讨论】:
-
Stack Overflow 是一个问答网站,而不是代码翻译服务。尝试先自己翻译代码,然后在遇到困难时来找我们,确保向我们展示您尝试过的内容并创建minimal reproducible example。
-
只需将
unsigned char更改为byte,其他都一样。 -
这能回答你的问题吗? Which datatype is used for unsigned char in C#?。与 unsigned char 唯一的区别是 C# 中的字节。
-
将您知道的语言逐行翻译成您不知道的语言在某些时候注定会失败。您“翻译”的方式是充分了解源语言和目标语言以了解源语言在做什么,然后基本上丢弃源语言版本并用目标语言实现相同的东西。
-
@Denica 我认为您对该行的问题是 == 比 | 具有更高的优先级。尝试 b | 周围的括号(1