在opencv中的剪切和重分布幅度图像中,有一个进行奇数变偶数的方法 a&-2 如果a是偶数则不变,如果a是奇数则变为小1的偶数,其采用是&运算,步骤如下。
1、步骤分解
1.1、计算机中的 -2
在计算机中采用补码形式存储数据,正数:补码=原码=反码,负数:原码》》》反码(原码符号位不变其余取反)》》补码(反码+1)
-2
原码:10000010 反码:11111101 补码:11111110
1.2、 a为正偶数或正奇数
- 偶数:a=6 补码为:00000110 ===> a&-2 =======>00000110 &11111110=00000110(6)
- 奇数:a=7 补码为:00000111 ===> a&-2 =======>00000111 &11111110=00000110(6)
1.3、a为负偶数或负奇数
- 偶数:a=-6 补码为:11111010 ===> a&-2 =======>11111010 &11111110=11111010(-6)
- 奇数:a=-7 补码为:11111001 ===> a&-2 =======>11111001 &11111110=11111000(-8)