Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中操纵Nybles和更小的#_C#_Bit Manipulation - Fatal编程技术网

C# 在c中操纵Nybles和更小的#

C# 在c中操纵Nybles和更小的#,c#,bit-manipulation,C#,Bit Manipulation,我有一个应用程序,需要一次操作甚至可能是单个位。C#中是否有一个库可以帮助我?您可以使用它来操作32位整数中的位,并拥有一个表示一组布尔变量的位数组 此外,编写两个函数来处理单个位也非常容易: public bool GetBitValue(int integer, int bit) { return (integer & (1 << bit)) != 0; } public bool SetBitValue(ref int integer, int bit, b

我有一个应用程序,需要一次操作甚至可能是单个位。C#中是否有一个库可以帮助我?

您可以使用它来操作32位整数中的位,并拥有一个表示一组布尔变量的位数组

此外,编写两个函数来处理单个位也非常容易:

public bool GetBitValue(int integer, int bit) {
    return (integer & (1 << bit)) != 0; 
}

public bool SetBitValue(ref int integer, int bit, bool value) {
    if (value)
        integer |= 1 << bit;
    else
        integer &= ~(1 << bit);
}
public bool GetBitValue(整数,整数位){
return(integer&(1可用于操作32位整数中的位,并具有表示一组布尔变量的位数组

此外,编写两个函数来处理单个位也非常容易:

public bool GetBitValue(int integer, int bit) {
    return (integer & (1 << bit)) != 0; 
}

public bool SetBitValue(ref int integer, int bit, bool value) {
    if (value)
        integer |= 1 << bit;
    else
        integer &= ~(1 << bit);
}
public bool GetBitValue(整数,整数位){

return(integer&(1库实际上是不必要的

uint myVar = 257;
const uint SOME_FLAG_A = 256 // 100000000
const uint SOME_FLAG_B = 16  // 000010000
const uint SOME_FLAG_C = 1   // 000000001

if(myVar & SOME_FLAG_A == SOME_FLAG_A)
   Console.WriteLine("Bit A is set!");
else
   Console.WriteLine("Bit A is not set.");

if(myVar & SOME_FLAG_B == SOME_FLAG_B)
   Console.WriteLine("Bit B is set!");
else
   Console.WriteLine("Bit B is not set.");

myVar = myVar | SOME_FLAG_B;

if(myVar & SOME_FLAG_B == SOME_FLAG_B)
   Console.WriteLine("Bit B is set!");
else
   Console.WriteLine("Bit B is not set.");

if(myVar & SOME_FLAG_C == SOME_FLAG_C)
   Console.WriteLine("Bit C is set!");
else
   Console.WriteLine("Bit C is not set.");

图书馆真的没有必要

uint myVar = 257;
const uint SOME_FLAG_A = 256 // 100000000
const uint SOME_FLAG_B = 16  // 000010000
const uint SOME_FLAG_C = 1   // 000000001

if(myVar & SOME_FLAG_A == SOME_FLAG_A)
   Console.WriteLine("Bit A is set!");
else
   Console.WriteLine("Bit A is not set.");

if(myVar & SOME_FLAG_B == SOME_FLAG_B)
   Console.WriteLine("Bit B is set!");
else
   Console.WriteLine("Bit B is not set.");

myVar = myVar | SOME_FLAG_B;

if(myVar & SOME_FLAG_B == SOME_FLAG_B)
   Console.WriteLine("Bit B is set!");
else
   Console.WriteLine("Bit B is not set.");

if(myVar & SOME_FLAG_C == SOME_FLAG_C)
   Console.WriteLine("Bit C is set!");
else
   Console.WriteLine("Bit C is not set.");

nybble是一个完全有效的拼写,但我会删除无关的标记。每天学习新的东西。然而,nybble和颜色一样没有吸引力;Dnybble是一个完全有效的拼写,但我会删除无关的标记。每天学习新的东西。然而,Nyble和颜色一样没有吸引力;D