位运算技巧

这篇博客详细介绍了位运算的各种技巧,包括获取整型最大值、最小值、乘除2的运算,判断奇偶性,无临时变量交换数值,取绝对值,求最大值、最小值,判断符号相同,计算2的幂次方,位运算取余,以及从低位到高位的位操作等,适合提升编程效率和理解位操作。
摘要由CSDN通过智能技术生成

1、获取int型最大值

//写法1
int getMaxInt(){  
	//2147483647, 由于优先级关系,括号不可省略
    return (1 << 31) - 1;  
}  

//写法2
int getMaxInt(){  
    return ~(1 << 31);//2147483647  
}  

//写法3
int getMaxInt(){//有些编译器不适用  
    return (1 << -1) - 1;//2147483647  
}  


C语言中不知道int占几个字节的时候:

int getMaxInt(){  
    return ((unsigned int) - 1) >> 1;//2147483647  
}  


2、获取int型最小值

//写法1
int getMinInt(){  
    return 1 << 31;//-2147483648  
}  

//写法2 
 int getMinInt(){//有些编译器不适用  
    return 1 << -1;//-2147483648  
}  

3、获取long类型最大值

C语言版:

long getMaxLong(){  
    return ((unsigned long) - 1) >> 1;//2147483647  
}  

Java版:

long getMaxLong(){  
    return ((long)1 << 127) - 1;//9223372036854775807  
}  

4、乘以2运算

int mulTwo(int n){//计算n*2   
    return n << 1;  
}  

5、除以2运算


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值