为啥 uint8_t 可以赋值为负数

今天在做CH582M蓝牙鼠标DEMO实验,发现uint8_t类型的buf数组中X Y可以赋值为负数,这是为啥呀,看了下定义是 unsigned char 类型,值的范围不应该是 0-255嘛

鼠标发送函数.png

您好,这样使用也可以用,因为对于mcu来讲,二进制数非0即1;只要可以用8位二进制数表示,负数的补码还是会被正确存放进8位变量所在的空间。更严谨来讲,这里确实是应该写有符号8位二进制数,您可以先自行修改,我们后续会改进,感谢您的反馈。


只有登录才能回复,可以选择微信账号登录