iOS 二进制转换以及位运算

2018-12-11  本文已影响6人  熊梓君

进制之间的转换

比如:11101
1 * 2^4 + 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2 ^ 0 
= 16 + 8 + 4 + 0  + 1
= 29

小数部分从小数位最左边开始,依次从2的-1次方开始,让每位相加。

比如:0.001
0 * 2^-1 + 0 * 2 ^-2 + 1 * 2^-3
= 0 + 0 + 1/8
= 0.125
比如:29
29 / 2 = 商 14 余 1
14 / 2 = 商 7 余 0
7 / 2 = 商 3 余 1
3 / 2 = 商 1 余 1
1 / 2 = 商 0 余 1

所以: 29 = 11101

小数部分计算方法:用小数部分乘以2,然后取整数部分,依次乘到结果为1时结束,然后取出每次的整数按顺序做为小数部分即可。

比如:0.125
0.125 * 2 = 0.25 整数部分:0
0.25 * 2 = 0.5 整数部分:0
0.5 * 2 = 1 整数部分:1

所以:0.125 = 0.001

位运算

上一篇下一篇

猜你喜欢

热点阅读