位运算符

常见的关系运算符(位拼运算符)

半腔热情 提交于 2019-11-29 10:58:06
写在前面的话 位拼运算符是将多个小的表达式合并形成一个大的表达式,用符号 {}来实现多个表达式的连接运算,各个表达式之间用“,”隔开。位拼运算符是梦翼师兄特别喜欢的一种运算符,它聪慧灵秀,不但可以进行简单的数据拼接,更是可以用来执行移位操作,而且数据永远是循环的,不会丢失,用途非常广泛。 代码实例 /**************************************************** * Engineer : 梦翼师兄 * QQ : 761664056 * The module function: 位拼接运算符模块 *****************************************************/ 01 module shift ( clk , rst_n , led_out ); 02 input clk ; // 系统输入 03 input rst_n ; // 系统复位 04 05 output reg [ 3 : 0 ] led_out ; //led 驱动端口 06 07 always @( posedge clk or negedge rst_n ) 08 begin 09 if (! rst_n ) 10 begin 11 led_out <= 4'b0111 ; // 让其中一盏灯点亮 12 end 13 else 14

Java中的位运算符 &、|、^、~、<< 和 >>

青春壹個敷衍的年華 提交于 2019-11-28 12:53:02
一、& 按位与运算符 5 & 3 = 1 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 规则:对应的两个二进制位都为1时,结果位就为1,其他情况都为0。 1 & 1 = 1 1 & 0 = 0 0 & 1 = 0 0 & 0 = 0 二、| 按位或运算符 5 | 3 = 7 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 规则:只要对应的二个二进位有一个为1时,结果位就为1。 1 | 1 = 1 1 | 0 = 1 0 | 1 = 1 0 | 0 = 0 三、^ 按位异或 运算符 5 ^ 3 = 6 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 异或的运算法则: 0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕ 1 = 1,1 ⊕ 1 = 0(相同为0,不同为1) 这些法则与加法是相同的,只是 不带进位 ,所以异或常被认作不进位加法。 四、~

13 位运算符

…衆ロ難τιáo~ 提交于 2019-11-26 14:35:31
位运算符 位运算符有哪些? & 位与 | 位或 ^ 位异或 >> 向右移 >>> 无符号右移 << 向左移 位运算符都是操作的二进制 用法: &,|,^ 的用法 &:有0则0 |:有1则1 ^:相同则0,不同则1 例: System.out.println(6 & 3); //2 System.out.println(6 | 3); //7 System.out.println(6 ^ 3); //5 分析: 上面这些运算符会将数字转换成2进制再进行运算。6的二进制是110,3的二进制是011。根据上面的用法规则里面,列几个竖式: 110 & 011 ----------- 010 十进制的2 110 | 011 ----------- 111 十进制的7 110 ^ 011 ----------- 101 十进制的5 ^的特点:一个数据对另一个数据位异或两次,该数本身不变。 例: System.out.println(5 ^ 10 ^ 5); 左移和右移 <<:左移 左边最高位丢弃,右边补齐0 >>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1 >>>:无符号右移 无论最高位是0还是1,左边补齐0 例: //右移,向右移动n位就是除以2的n次幂,向左移动n位就是乘以2的n次幂 //System.out.println(12 >> 1); //System.out