主题:请问如何解决位移的问题?
我要取BYTE5的高四位,请问这段代码为什么不能实现??
long i = Convert.ToInt16(trackBar1.Value);
string j = Convert.ToString(i, 2);
string s = "";
string q = "";
string c = "0";
if (j.Length < 8)
{
for (int f = 0; f < 8; f++)
{
s = s + c;
}
q = s.Substring(0, 8 - j.Length) +j;
}
else
q = j;
string y = q.Substring(0,4);
byte ii = (byte)Convert.ToInt16(y);
int yy = Convert.ToInt16(ii << 4);
bb[5] = Convert.ToByte(yy);
long i = Convert.ToInt16(trackBar1.Value);
string j = Convert.ToString(i, 2);
string s = "";
string q = "";
string c = "0";
if (j.Length < 8)
{
for (int f = 0; f < 8; f++)
{
s = s + c;
}
q = s.Substring(0, 8 - j.Length) +j;
}
else
q = j;
string y = q.Substring(0,4);
byte ii = (byte)Convert.ToInt16(y);
int yy = Convert.ToInt16(ii << 4);
bb[5] = Convert.ToByte(yy);