最近写串口程序,厂家说要取反,有一个字节位上,要用前一位的数字取反,不知是什么意思,特来讨教。
不知那位能给个源码来看看。急
不知那位能给个源码来看看。急
解决方案
40
控制台程序的行吗?刚刚为你写了一个,你可以参考一下啊。
class Program
{
static void Main(string[] args)
{
int i, j;
i = 34;
string s = i.ToString(“X”); //转16进制
Console.WriteLine(“16进制:” + s);
sbyte d = Convert.ToSByte(s, 16); //16进制的22
// Console.WriteLine(d);
// Console.WriteLine(SByte.MaxValue.ToString(“X”)); // 输出十六进制
d = (sbyte)~d;
Console.WriteLine(“反码:” + d.ToString(“X”));
Console.ReadLine();
//sbyte d = Convert.ToSByte(“23”, 16);
//Console.WriteLine(d);
//Console.WriteLine(SByte.MaxValue.ToString(“X”));
//d = (sbyte)~d;
//Console.WriteLine(d.ToString(“X”));
//Console.ReadLine();
class Program
{
static void Main(string[] args)
{
int i, j;
i = 34;
string s = i.ToString(“X”); //转16进制
Console.WriteLine(“16进制:” + s);
sbyte d = Convert.ToSByte(s, 16); //16进制的22
// Console.WriteLine(d);
// Console.WriteLine(SByte.MaxValue.ToString(“X”)); // 输出十六进制
d = (sbyte)~d;
Console.WriteLine(“反码:” + d.ToString(“X”));
Console.ReadLine();
//sbyte d = Convert.ToSByte(“23”, 16);
//Console.WriteLine(d);
//Console.WriteLine(SByte.MaxValue.ToString(“X”));
//d = (sbyte)~d;
//Console.WriteLine(d.ToString(“X”));
//Console.ReadLine();
}
}