2013-05-02 60 views
3

我在C#中有一个短变量,并且想要更改特定位。我怎样才能做到这一点最简单的方法?如何更改短内容中的位

+1

也许显示你的短变量的代码? – 2013-05-02 15:41:41

+0

我想编写一个函数,它用索引x操纵位,并返回修改过的短小 – Weedjo 2013-05-02 15:43:27

+1

发布您的代码,我们可以进一步帮助您 – 2013-05-02 15:44:06

回答

4

在位运算符来看看:

short i = 4; 
short k = 1; 
Console.WriteLine(i | k); //should write 5 

你可以看到下Logical (boolean and bitwise)部分here运营商的列表。

另外,做了一些戳动,发现this bitwise helper class。根据您的需求值得检查。

6

你的意思是这样的吗?

public static short SetBit(short input, int bit) 
{ 
    return (short) (input | (1 << bit)); 
} 

public static short ClearBit(short input, int bit) 
{ 
    return (short) (input & ~(1 << bit)); 
} 

如果你愿意,你甚至可以使它们成为扩展方法。

+0

如果你想从一个布尔输入做到这一点,你可以添加一个方法'SetBit(短输入,int位,布尔值){返回值? SetBit(输入,位):ClearBit(输入,位); }' – 2013-05-02 15:50:37