单片机通过Socket发送过来类似 { 0xff,0x0c ,0x80.。.}的byte数组,根据协议分为unsigned char 和signed char两种类型。需要将int数据转为两个byte发送给单片机,或将单片机发来的2个byte转化为int。
解释
单片机发送过来的数据有 unsigned char 和 signed char 之分;而 Java 中的 byte(8位)、int(32位) 都是有符号的。
计算机里的数字,不管正负,其底层都是以补码形式存在的!!
Java 的二进制采用补码形式。比如 Java 里的 Integer.toBinaryString(int) 函数,如果传入负数,则只会输出其补码形式,传入正数则输出原码二进制数(正数补码=原码)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !