java中的二进制运算以及使用场景
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容介绍了"java中的二进制运算以及使用场景"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文
千家信息网最后更新 2024年11月24日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安全错误
数据库的锁怎样保障安全
网络安全数据集介绍
北京速邦网络技术公司是外包吗
我要把网络安全的手抄报
湘大计算机学院网络安全学院调剂
毅友汽修软件数据库
万达网络技术岗是做什么
三级网络技术考试条件
软件开发信息公司
网络安全事故导致的危害英语作文
牛虻小说软件开发
数据库 狐
hp二手服务器
网络技术什么最缺乏
侠客风云传手游服务器怎么升级
广昌弱电网络技术员招聘
百单网互联网科技公司
数据库用什么分库
苹果序列号不在数据库
《网络安全法》正式实施
数据库的奉献模式
桓台加工管理软件开发
pw网络技术
吴江区正规软件开发口碑推荐
土木和软件开发相结合
软件开发回济南怎么样
广东智能软件开发订制
咨询费 软件开发
redis命令行选择数据库
数据库用什么分库
QQ软件开发投入成本