永发信息网

下面这个啥意思啊 high_byte > 0x39 整体呢

答案:2  悬赏:80  手机版
解决时间 2021-01-24 19:44
  • 提问者网友:缘字诀
  • 2021-01-24 11:07
unsigned char * db_str
unsigned char high_byte , low_byte ;
for (i = 0; i < len; i += 2)
{
high_byte = db_str[i];
low_byte = db_str[i + 1];

if (high_byte > 0x39)
high_byte -= 0x37;
else
high_byte -= 0x30;

if (low_byte > 0x39)
low_byte -= 0x37;
else
low_byte -= 0x30;

str[i / 2] = (high_byte << 4) | low_byte;
}
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-01-24 11:35
那个是高位和低位 0x39是16进制数 这应该是寄存器中存储数据的吧
全部回答
  • 1楼网友:往事隔山水
  • 2021-01-24 11:47
利用system.convert.tobyte方法可以将 0x开始的十六进制格式字符串转换成byte类型值。例如 string s = "0x55"; byte b = system.convert.tobyte(s, 16); console.writeline(b); //输出85 s = "0xff"; b = system.convert.tobyte(s, 16); console.writeline(b); //输出255 即使字符串中不包含前导"0x",system.convert.tobyte也可完成转换 string s = "55"; //55是十六进制格式 byte b = system.convert.tobyte(s, 16); console.writeline(b); //输出85 s = "ff"; //ff是十六进制格式 b = system.convert.tobyte(s, 16); console.writeline(b); //输出255 为了防止转换过程的异常,可以用try...catch... s = ....; byte b = 0; try { b = system.convert.tobyte(s, 16); } catch(formatexception) { console.writeline("无法转换成byte类型值!"); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯