标签:sub img png bsp 有符号数 如何 输出 转移 有符号
一、布尔代数:简单理解就是用数字0和1(即:二进制位)代表逻辑值真和假来进行逻辑推理基本原则的研究。是逻辑电路和逻辑运算的数学基础。
二、逻辑运算符:与、或、非、异或
一元运算符:非(NOT),只有一个操作数
二元运算符:与(AND)、或(OR)和异或(XOR),有两个操作数
逻辑运算符真值表
三、位级逻辑运算
对二进制位进行逻辑运算,参照【逻辑运算真值表】
四、位模式逻辑运算
位模式:位序列或者可以把一串位看做向量(位向量),一般将固定长度的位向量用字节的倍数表示
1)、NOT
2)、AND
3)、OR
4)、XOR
位模式逻辑运算的几个应用
1)、取反
NOT运算符可以将位模式的每个为取反,0变1,1变0
2)、复位指定位(置0)
AND运算符对输出使用被称作掩码的相同位操作数复位指定位,将掩码的指定位设置为0即可(其它位为1),这是AND操作将把输入复位。
3)、置位指定位(置1)
OR运算符对指定位置1,指定位掩码位1(其它位为0)
4)、翻转指定位
XOR运算符对指定位使用掩码(指定位为1,其它位为0)进行翻转
五、移位运算
移位运算分为左移位和右移位,分别用<<和>>表示
如何表示:
有操作数x(x是w为表示的数字),需要向左或向右移动k位(0<k<w,k是整数)
左移位:x<<k
右移位:x>>k
1)、逻辑移位:针对无符号整数(如果是有符号数,则逻辑移位可能改变这些数的符号)
x<<k,丢弃最左位k个位,最右位补足k个0,相当于x成语2k
x>>k,丢弃最右位k个位,最左位补足k个0,相当于x除以2k(取整数)
例如:
25<<1=(11001)2<<1=(110010)2=50
25>>1=(11001)2>>1=(01100)2=12
2)、循环移位
也称位旋转移位运算,位首位相接,没有丢弃或增加位
左移位:最左位被推出边界,回环到最右位
右移位:最右位被推出边界,回环到最左位
例如:
55<<1=(110111)2<<1=(101111)2=47
55>>1=(110111)2>>1=(111011)2=59
3)、算数移位
针对有符号位的整数(二进制用补码表示的负整数)。
x<<k,相当于x乘以2k,丢弃符号位(最左位),接受它的右边为作为符号位,最右位用0补足,如果新符号位与原符号位相同则转换成功,否则转换失败,结果非法。
x>>k,相当于x乘以2k,保留符号位,丢弃最右位,最左位用原符号位补足即可
标签:sub img png bsp 有符号数 如何 输出 转移 有符号
原文地址:http://www.cnblogs.com/handsome1008/p/7134517.html