资讯详情

C语言二进制除法用左右移位来表示

一些编译器和硬件支持乘除法和浮点操作,使用起来也很方便!唯一让我不满意的是它被占用了ROM ! 所以有些平台可以用移位来换算!

学习计算经验:

分母是为 成立2平方!

2.4.8.16.32.64.128.256.512.1024.2048...

左移1位 相当于 乘以2

左移2位 相当于 乘以4

左移3位 相当于 乘以8

左移4位 相当于 乘以16

...

以一累加, 乘以2平方累积

右移1位 相当于 除以2

右移2位 相当于 除以4

右移3位 相当于 除以8

右移4位 相当于 除以16

...

是一累减, 乘以2平方累减

类题一:LM75A 温度传感器中的温度转换!

1.保留两个小数点

value =t*0.125; 0.125为 8分之一乘以100= 8分之100

t =value * 100;

相当于

t = (t << 6) (t << 5) (t << 2);

64 32 4 刚好为 100

t = t>>3;

相当于除 8

2.保留一个小数点

value =t*1.25; 1.25 为 4分之5

相当于

t = (t << 2) t;

4

t = t >> 2;

类题二:DS18B20 温度传感器中的温度转换!

1.保留两个小数点

value =t*0.0625;

t =value * 100; t = 1/16 * 100 = 25/4;

相当于

t = (t << 4) (t << 3) t ;

16 8 1 刚好为 25

t = t>>2;

相当于除 4

2.保留一个小数点

value =t*0.628; 0.628 为 8分之5

相当于

t = (t << 2) t;

4

t = t >> 3;

相当于除 8

标签: 75a8414传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台