搜索蓝牙设备
读、写
20个字节限制
经历了很多应用层的开发,你是否对数据细节有深刻的了解呢
比如1b、1bit、高位、低位等。
那么在开发蓝牙相关工作中,你会遇到的那些平常开发所不用到的知识。
b 与 bit
b代表是字节,bit代表的是比特,1字节=8比特
那么问题来了,字节是一个很小的单位了,怎么去用比特呢?
我们可以写一个字节数据,比如0x1F,用二进制表示为0001FFFF,那么这就是8位的数据了,每位的数据可以表现出来比特的单位。
而这种情况会用在哪里呢?
比如蓝牙传输一个包最多传输20个字节,在这20个字节中,要充分发挥每一个字节以及每一个比特的作用,那么这20个字节的其中一个字节代表一个字段或多个字段的意义,而字段的定义已经定义到比特上去了,同样的20字节的包的大小,所包含的数据含义内容就超出了原本的想象。
开发中的低精度单位
- u_char 与 char
u_char代表的是无符号的char型,范围在0-255范围之内
可以拿0xff进行比较,0xff写下来表现为 0b 1111 1111
对于u_char的计算方式是1128 + 164 + 132 + 116 + 18 + 14 + 1*2 + 1 = 255
而对char的计算方式,需要了解了解原码和补码的概念,
开发中的运算
- 与
- 或
- 非
- 异或
网友评论