单片机是查表快 还是位移快
时间:10-02
整理:3721RD
点击:
单片机是查表快 还是位移快,比如说:要判断某一位,1. 移位计算 while((GPIO1->DATA & (1<<8)) == (1<<8))
2. 定义一个数组:
num[0] = 0000 0000 0000 0001B;
num[1] = 0000 0000 0000 0010B;
num[2] = 0000 0000 0000 0100B;
.
.
.
num[15] = 1000 0000 0000 0000B;
然后直接 while((GPIO1->DATA & num[8]) == num[8])
单片机如何实现位移,比如说 1<<8 是计算8个RLA 么
查表快 还是位移快,应该和移位次数有关,是不是说中间有个临界点,超过某个移位次数 查表效率更快些,但是如果移位次数很大,列表数组不仅要占用大量内存,轮询也需要时间。在这里如何取舍。
2. 定义一个数组:
num[0] = 0000 0000 0000 0001B;
num[1] = 0000 0000 0000 0010B;
num[2] = 0000 0000 0000 0100B;
.
.
.
num[15] = 1000 0000 0000 0000B;
然后直接 while((GPIO1->DATA & num[8]) == num[8])
单片机如何实现位移,比如说 1<<8 是计算8个RLA 么
查表快 还是位移快,应该和移位次数有关,是不是说中间有个临界点,超过某个移位次数 查表效率更快些,但是如果移位次数很大,列表数组不仅要占用大量内存,轮询也需要时间。在这里如何取舍。
无论是哈弗还是冯诺依曼结构都要计算8个RLA