黑马程序员_毕向东_Java基础视频教程——位运算练习(随笔)
2024-10-09 04:39:38
位运算(练习)
最有效率的方式算出 2乘以 8等于几
2 << 3 = 2 * 2^3 = 2 * 8 = 16
对于两个整数变量的值进行互换(不需要第三方变量)
class Test
{
public static void main(String[] args)
{
int n = 3, m = 4;
System.out.println("n = "+n+ ", m = "+m); //1、通过定义第三方变量来实现
int temp;
temp = n;
n = m;
m = temp;
System.out.println("n = "+n+ ", m = "+m); //2-1、不借助第三方变量实现
n = n + m; // n = 3 + 4 = 7;
m = n - m; // m = 7 - 4 = 3;
n = n - m; // n = 7 - 3 = 4;
System.out.println("n = "+n+ ", m = "+m);
//这种方法有局限性,如果n和m的值比较大,相加容易超出 int范围,造成损失精度 //2-2、不借助三方变量实现
n = n ^ m; //此时 n =(n ^ m)
m = n ^ m; // m = (n ^ m) ^ m == n = 3; n = m ^ n; // n = n ^ m == n ^ (n ^ m);
System.out.println("n = "+n+ ", m = "+m);
//这种方式属于技巧性 /*
或者直接打印:
System.out.println("n = "+m+ ", m = "+n);
……
*/
}
}
获取60的最低4位,通过 60 & 15;
class Text
{
public static void main(String[] args)
{
int num = 60;
int n1 = num & 15; System.out.println((char) (n1 - 10 + 'A')); //要获取下一组四位,将 60 右移 4 位
int temp = 60 >> 4; //对temp的值进行最低4位的获取
int n2 = temp & 15;
System.out.println( n2 );
/*
0 — 9 'A' 'B' 'C' 'D' 'E' 'F'
65 66 67
10 11 12 13 14 15
12 - 10 = 2 + 'A' = (char)67;
*/
}
}
最新文章
- js异步加载的3种方式(转载)
- WPF入门教程系列十六——WPF中的数据绑定(二)
- ztree插件的使用
- Time33算法
- Yii源码阅读笔记(二十七)
- AFNetworking 提示";The resource could not be loaded because the App Transport Security policy requires the use of a secure connection"; 解决办法
- iOS开发-- 创建podspec文件,为自己的项目添加pod支持
- POJ 1191 棋盘分割(DP)
- 【转】iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) -- 不错不错
- C# 数据实现设计模式
- NSRangeFromString(<;#NSString * _Nonnull aString#>;) 和rangeOfString
- Node.js v0.10.31API手冊-控制台
- Sqli-Labs学习总结一
- js网页判断移动终端浏览器版本信息是安卓还是苹果ios,判断在微信浏览器跳转不同页面,生成二维码
- python基础day1
- 学习MeteoInfo二次开发教程(十二)
- Python-HTML 最强标签分类
- IntellJ IDEA 2017 激活编译器配置,读取多个配置文件
- C++ 拷贝构造函数之const关键字
- 【Spring学习笔记-5】Spring中的抽象bean以及bean继承