net <255的 int 怎么转成 16进制的 byte

rest1234 2014-12-23 04:41:20
字节数组 得 第一位 byte 放的是 地址 范围是1-161

循环发送的时候 怎么把 161 变成 16进制的数 A1 赋值给 byte[0] 呢?

老提示对于无符号的数据太大或太小 但 没超过255 应该没问题吧
...全文
143 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rest1234 2014-12-24
  • 打赏
  • 举报
回复
引用 10 楼 Z65443344 的回复:
你要知道,计算机里根本不存在10进制,都是2进制 只不过显示出来的时候你需要指定按什么形式显示 你给它赋值的时候也要告诉它你给出的一串数字到底是什么类型的
谢谢 每次遇到这种进制转换 赋值的就晕..........老觉得 byte[0]=0xA1 和byte[0]=161 不一样............怕单片机理解错
於黾 2014-12-23
  • 打赏
  • 举报
回复
你要知道,计算机里根本不存在10进制,都是2进制 只不过显示出来的时候你需要指定按什么形式显示 你给它赋值的时候也要告诉它你给出的一串数字到底是什么类型的
於黾 2014-12-23
  • 打赏
  • 举报
回复
0xA1表示一个16进制数,不加0x,那它是变量?还是字符串? 这就类似123.456f一样,f指定数据类似是float,否则它默认是double 10进制的161本来就和16进制的A1是完全一样的,只不过以字符串显示的时候需要指定是按10进制显示还是16进制显示
rest1234 2014-12-23
  • 打赏
  • 举报
回复
引用 7 楼 Z65443344 的回复:
你断点跟的时候如果看见里面是161,不要怕 选择按16进制显示,就变成A1了 不过就是显示方式不同而已 里面都代表的同一个数字
串口发给单片机的时候 它对161 和 0xA1 是一样的? 还有0xA1和 A1有啥区别...........
於黾 2014-12-23
  • 打赏
  • 举报
回复
你断点跟的时候如果看见里面是161,不要怕 选择按16进制显示,就变成A1了 不过就是显示方式不同而已 里面都代表的同一个数字
於黾 2014-12-23
  • 打赏
  • 举报
回复
byte[0]=(byte)161; 这个不就是代码吗,加个强制转换就行了
rest1234 2014-12-23
  • 打赏
  • 举报
回复
引用 3 楼 bdmh 的回复:
String.Format("{0:X}", value)
这个咋赋值给byte啊
rest1234 2014-12-23
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
byte[0]=(byte)161; 或 byte[0]=0xA1; 都行
怎么用代码把 161转成 byte 里的0XA1啊
bdmh 2014-12-23
  • 打赏
  • 举报
回复
String.Format("{0:X}", value)
於黾 2014-12-23
  • 打赏
  • 举报
回复
byte[0]=(byte)161; 或 byte[0]=0xA1; 都行
於黾 2014-12-23
  • 打赏
  • 举报
回复
直接强制转换呗 int i=254; byte b=(byte)i;

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧