永发信息网

C# byte的高四位和低四位!

答案:2  悬赏:0  手机版
解决时间 2021-04-06 15:49
  • 提问者网友:川水往事
  • 2021-04-05 15:20
C# byte的高四位和低四位!
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-04-05 16:38
合并ab起来,不知道满足你需求哇啦!
Byte[] a = System.Text.Encoding.Default.GetBytes("1");
Byte[] b = System.Text.Encoding.Default.GetBytes("2");追问不是啦·大哥··
比如我是一个两位数的密码:
密码1+密码2(高4位是密码1,低4位是密码2)【这里是一个byte类型的,不是数组】追答这个一定能解决你的问题了哇
int num = 99;
byte b = (byte)((num % 10) + (num / 10 << 4));
string ss = "";
for (int i = 7; i >= 0; i--)
{
ss = ss + ((b >> i) & 0x01).ToString();
}
全部回答
  • 1楼网友:等灯
  • 2021-04-05 17:53
高(12>>1)&15
低12&15
不知道能不能满足你的!追问能不能给点伪代码?还有 我最后需要把高四位和低四位加起来···最后得到的是一个byte的类型··能不能给点伪代码?
不知道我理解我说的没··追答我错了!不好意思!
不好意思没理解你说的是什么意思?
你是要再得到12吗?追问不是再得到12
比如 :byte 密码 = 98;
密码1(9)+密码2(8)(高4位是密码1,低4位是密码2)追答你所说的高四位 低四位是什么意思?
我之前理解的是
12的八位二进制编码为00001100
然后前4位你是密码1后四位是密码2
然后我通过位运算得到密码1密码2
也可以这样写
高(12>>8)&255
低12&255
可是看了你的追问知道自己应该是想错了
你的意思是不是百十位作为密码1 然后个位作为密码2
如果是这样除以10取整就得到十百位了 个位就把10位乘以10的整数减去就可以了
例如伪代码
mm= 12;
mm1 =(int)12/10;
mm2 = 12-mm1*10;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯