java中的二进制运算以及使用场景
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容介绍了"java中的二进制运算以及使用场景"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文
千家信息网最后更新 2025年01月23日java中的二进制运算以及使用场景
本篇内容介绍了"java中的二进制运算以及使用场景"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
本文知识点
java中用二进制使用场景
java中声明二进制数据
java中拼接二进制数据
二进制的使用场景
做标识用
二进制就是只有0和1这两个数.这和我们现实很多场景都类似, 如男/女,是/否,是否已读等.那么对一个主体的描述, 我们可以有一个二进制串来标识一系列的flag.
(小刀已改名为凑心啦,至于原因嘛, 因为现在在做一个小程序, 估计不久后会和大家见面)
如有一个心,同时还有一个描述的二进制串 1101. 第一个1代表男,第二个1代表矮.第三个0 代表丑, 第三个1代表笨. 这样我们只用4位就完成了这些信息的存储. 4位转换成十进制, 最大也就是15. 用一个byte就可以存这么多信息.
声明二进制数据
大体上有三种方式:1,从String 读取. 2.从十进制数转. 3.直接声明,代码如下所示:
public class BinaryTools { public static void main(String[] args) { // 1.从String中读取二进制 String s = "1101"; Integer integer = Integer.valueOf(s, 2); // 13 System.out.println(integer); // 2.从 10 进制数中读取二进制 int i1 = 520; // 1000001000 System.out.println(Integer.toBinaryString(i1)); // 3.直接声明二进制 int i2 = 0b1101; // 13 System.out.println(i2); }}
拼接二进制数据
这里要用到位运算符.如1001. 分别代表四个不同的属性的状态. 我们肯定是一个一个属性得到的得到性别,要放到从右往左第四个位置上. 得到矮放到从右往左第三位. 依次往下. 代码如下:
public static void main(String[] args) { int i = 0b1; int j = 0b1; int k = 0b0; int m = 0b1; // 1000 int i1 = i << 3; // 100 int j1 = j << 2; // 0 int k1 = k << 1; // 这里使用 | 或运算符 int cx = i1 | j1 | k1 | m; // 1101 System.out.println(Integer.toBinaryString(cx)); }
拆分二进制数据
这时候, 我们收到了"1101" 这个二进制串, 这时候我们需要拆成四个单独的标识位,主要有两种情况.1.拿到是一个字符串, 2. 拿到的是二进制串. 代码如下:
public static void main(String[] args) { // 如果拿到的是String , 可以直接使用charAt来获取 String s = "1101"; // 从左往右第二位 System.out.println(s.charAt(1)); // 如果拿到的是二进制, 可以通过 右移后和 1 进行与操作 & int i = 0b1101; // 从左往右第三位 int r = (i>>(3-1)) & 1; System.out.println(Integer.toBinaryString(r)); }
"java中的二进制运算以及使用场景"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
二进制
场景
代表
数据
运算
代码
标识
知识
三个
信息
内容
十进制
属性
情况
更多
运算符
十进
不同
实用
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发好项目管理
最新软件开发规范
北京服务器回收价格一览表
angular与服务器
数据库导入mdf文件要多久
dellemc服务器维修调试
浙江比奇网络技术公司招聘
三年级作文网络安全从我做起
东莞汽车软件开发平台
上海美家林软件开发公司
茂名市星巢网络技术有限公司
衡水学习软件开发
快快乐动网络技术有限公司
网络安全问题文案高级
网络安全需要生态治理吗
网络营销跟数据库营销区别
西航网络技术录取线
dell服务器驱动检测程序
手机号码归属地数据库丢失
深信服网络安全薪资
手机网络安全议论文
中山流水线点胶软件开发
etcd数据库满了
做软件开发能到什么年龄
金枝玉叶下载软件开发
揭阳通讯软件开发市价
为什么怪物猎人数据库打不开
铭诚网络安全有限公司
hive中创建数据库是语法格式
组态 软件开发