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 Programwriteline输出数值变量
{
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();
}
}
相关链接:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。