C# 之 二进制的简单使用

C# 之 二进制的简单使用


想在C#中使用二进制座位一组变量的存储,,,
举个栗子:有A,B,C,D 四个变量作为bool值要使用,当要和服务器做交互的时候发现四个变量每个值的状态都要传递,若不想每次传递四个值,而又要用一个值表示四种状态,这时要怎么做呢?
这时和服务器约定好,A,B,C,D, 分别用 1,10,100,1000 表示,,,则当我给服务器传递的时候,只需要一个四位数的字符串进行传递就可以了,,,(如:传递“1011”,则表示A,C,D为True,B为False),那么服务器接到我这字符串要怎么解析呢,,这就用到了,二进制数的运算,将接收到的值和之前约定好的值做 与(&)运算,若结果不等于0,则说明此值为真,反之为假。【如:1101 & 1 != 0,则A为真,1101 & 10 = 0,则B为假】

后来发现这个想法有点傻,如果有这个需求的话,我们完全可以通过分解字符串来处理这个问题,1为真,0为假,也许会更方便些,,需要做的是两面解析的时候一一对应就可以了。

下面列举了些C#中的进制转换,有复习学习了一遍
  class Program
    {
        static void Main(string[] args)
        {         
            string bstr = "00000010";
            string bstr1 = "00000000";
            byte b = Convert.ToByte(bstr, 2);
            byte b1 = Convert.ToByte(bstr1, 2);

            Console.WriteLine("字符串'00000010'转二进制 :" + b);
            //二进制之间运算
            Console.WriteLine("00000010 | 00000000: " + (b | b1));
            Console.WriteLine("00000010 & 00000000: " + (b & b1));

            //十进制转二进制
            Console.WriteLine("64 --> 十进制转二进制: " + Convert.ToString(64, 2));
            //十进制转八进制
            Console.WriteLine("64 --> 十进制转八进制: " + Convert.ToString(64, 8));
            //十进制转十六进制
            Console.WriteLine("64 --> 十进制转十六进制: " + Convert.ToString(64, 16));
            //二进制转十进制
            Console.WriteLine("00000100 --> 二进制转十进制: " + Convert.ToInt32("00000100", 2));
            //八进制转十进制
            Console.WriteLine("64 --> 八进制转十进制:" + Convert.ToInt32("64", 8));
            //十六进制转十进制
            Console.WriteLine("FF --> 十六进制转十进制: " + Convert.ToInt32("FF", 16));

            Console.ReadKey();
        }
   }

运行图


相关链接:C# 中的类型转换(Convert类)
发布了446 篇原创文章 · 获赞 630 · 访问量 50万+

猜你喜欢

转载自blog.csdn.net/Czhenya/article/details/93862383