当前位置: 首页 > news >正文

二进制常用知识整理<java>

1、进制转换:

int转二进制:

public static void main(String[] args) {int a = 0b100;//0b表示后面的为二进制表示,0开始表示八进制System.out.println(a);System.out.println(Integer.toBinaryString(a));System.out.println(Integer.toString(a, 2));}

代码说明:

二进制数在前面加0b

八进制数在前面加0

十进制数正常按十进制填写

十六进制数在前面加0x

二进制转int:

System.out.println(Integer.parseInt("100", 2));//结果为4

long与二进制的相互转换:

同int

2、二进制运算:

异或^:

1、0表示false,1表示true。相同则为false,不同则为true。

2、0^1=1,1^1=0。

3、作用:经常用于做电位转换。想变更某个点的电位,就将其与1做异或运算。

取反~:

public static void main(String[] args) {int a = 0b1000;//0b表示后面的为二进制表示,System.out.println(~a);//结果为-9System.out.println(Integer.toBinaryString(~a));//结果为11111111111111111111111111110111}

代码说明:

1、~表示对所有二进制位按位取反。

2、按位取反后再加1就得到了原数的相反数。

3、这里要跟反码、补码的概念区分开:

反码和补码是为了方便负数的二进制运算出现的,规定正数的反码和补码都是其本身,负数的反码是符号位不变按位取反,负数的补码是反码+1。

右移>>和无符号右移>>>:

public static void main(String[] args) {int a = -8;//0b表示后面的为二进制表示,System.out.println(a>>2);System.out.println(Integer.toBinaryString(a));System.out.println(Integer.toBinaryString(a>>2));System.out.println(Integer.toBinaryString(a>>>2));int a1 = 8;//0b表示后面的为二进制表示,System.out.println(a1>>1);System.out.println(Integer.toBinaryString(a1));System.out.println(Integer.toBinaryString(a1>>>2));
//        -2
//        11111111111111111111111111111000
//        11111111111111111111111111111110
//        00111111111111111111111111111110
//        4
//        1000
//        0010}

代码说明:

右移:将一个数表示的二进制向右移n位,移出的部分将被抛弃,左侧高位补符号位。例如正数左侧补0,负数左侧补1

无符号右移:将一个数表示的二进制无符号向右移n位,移出的部分将被抛弃,无论是正数,还是负数,左侧高位都补0。

http://www.lryc.cn/news/387449.html

相关文章:

  • 基于Docker的淘客返利平台部署
  • 【涵子来信科技潮流】——WWDC24回顾与暑假更新说明
  • 重温react-08(createContext使用方式)
  • LInux后台运行程序
  • DEBOPIE框架:打造最好的ChatGPT交易机器人
  • C++ Thead多线程 condition_variable 与其使用场景---C++11多线程快速学习
  • 什么是前端开发?
  • 大数据面试题之Spark(1)
  • Spring Boot 和 Spring Framework 的区别是什么?
  • JVM原理(四):JVM垃圾收集算法与分代收集理论
  • 1961 Springboot自习室预约系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
  • 前端面试题(12)答案版
  • SpringMVC 域对象共享数据
  • 每天五分钟深度学习框架pytorch:tensor向量之间常用的运算操作
  • 【数据结构】(C语言):栈
  • c++类成员指针用法
  • [240625] Continue -- 开源 Copilot | Web-Check 网站分析工具 | Story of EOL
  • 【Mac】Auto Mouse Click for Mac(高效、稳定的鼠标连点器软件)软件介绍
  • javaSE知识点整理总结(下)、MySQL数据库
  • Perl入门学习
  • 2024年7月计划(ue5肉鸽视频完成)
  • 恢复策略(上)-撤销事务(UNDO)、重做事务(REDO)
  • 【鸿蒙学习笔记】位置设置
  • 41.HOOK引擎设计原理
  • STM32启动流程 和 map文件的作用
  • 深度解析华为仓颉语言
  • Android简介-历史、API等级与体系结构
  • SpringBoot:使用Spring Batch实现批处理任务
  • 用JQueryUI库在.net MVC中配置datepicker(时间日期控件)
  • 算法:链表