目录

前言

一、原码、反码、补码

(1)原码

(2)反码

(3)补码

(4)细节

二、位运算

(1)位运算符分类

(2)位运算符作用

(3)位运算符演示

总结


前言

了解原码、反码、补码的相关知识和位运算符的使用。

一、原码、反码、补码

(1)原码

1)原码就是将一个整数转换成它的二进制形式。

2)原码的第一位表示的是符号位,正数为 0,负数为 1.

如: int a = 4;其原码为:00000000  00000000  00000000  00000100

int b = -12; 其原码为:10000000  00000000  00000000  00001100

3)正数的原码、补码、反码一样。

(2)反码

1)负数的反码为 其原码符号位不变,其他的数值为取反。0 => 1 , 1 => 0

2)例如:int c = -15;

其原码为:10000000  00000000  00000000  00001111

其反码为原码符号位不变,其余位置取反:11111111  11111111  11111111  11110000

3)正数的原码、补码、反码一样。

(3)补码

1)负数的补码为 其反码+1。

2)例如:int d = -9

其原码为:10000000  00000000  00000000  00001001

其反码为:11111111  11111111  11111111  11110110

其补码为:11111111  11111111  11111111  11110111

3)正数的原码、补码、反码一样。

(4)细节

1)计算机在运算的时候,都是以补码的形式运算的。

2)0的反码和补码都是0.

3)当我们看运行结果时,要看它的原码。

二、位运算

(1)位运算符分类

位运算符总共分为七类,都包括:& 、| 、^ 、~ 、>> 、<< 、>>>

(2)位运算符作用

1)按位与&:符号两边的运算结果全为1结果为1,否则为0。

2)按位或|:符号两边的运算结果有一个为1结果就为1,否则为0。

3)按位异或^:符号两边的运算结果一个为1一个为0结果就为1,否则为0。

4)按位取反~:符号两边的运算结果取反,1 => 0 , 0 => 1。

5)算数右移>>:低位溢出,符号位不改变,并且用符号位补溢出的高位。

6)算数左移>>:符号位不变,低位补零。

7)无符号右移(逻辑右移):低位溢出,高位补0。

(3)位运算符演示

10 & 2 = 1;
0 & 100 = 0;1 | 0 = 1;
0 | 0 = 0;20 ^ 0 = 1;
23 ^ 11 = 0;~-3 = 0;
~0 = 1;int a=1>>2; //1 => 00000001 => 00000000
int c=1<<2; //1 => 00000001 => 00000100

总结

心情不好。

Java 基础学习(9)相关推荐

  1. java基础学习整理(一)

    java基础学习整理(一) lesson1: D0s命令: 1.回到根目录,>cd \ 2.复制命令行下的内容,右击标记所要复制的内容,这样就已经复制好了,右击粘贴就可以了. 3.查看,设置环境 ...

  2. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结

    Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 4.1 class作为成员变量 4.2 interface作为成 ...

  3. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  4. java基础学安卓开发_Android开发学习路线之Java基础学习

    原标题:Android开发学习路线之Java基础学习 很多Android学习开发者刚入手Android开发技术时,稍微有点迫切.任何的开发技术都有其基础语言,Android应用程序开发是以Java语言 ...

  5. Java基础学习:尚硅谷项目三 开发团队调度软件

    Java基础学习:尚硅谷项目三 开发团队调度软件 一.软件功能与结构设计 1. 软件功能 该软件实现以下功能: 软件启动时,根据给定的数据创建公司部分成员列表(数组) 根据菜单提示,基于现有的公司成员 ...

  6. Java基础学习汇总

    Java基础学习汇总 java语言基础 java函数和数组 java面向对象 java异常 整理用,早就停更... 写作不易,如果您觉得写的不错,欢迎给博主点赞.收藏.评论.收藏来一波~让博主更有动力 ...

  7. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  8. Java基础学习——第十四章 网络编程

    Java基础学习--第十四章 网络编程 一.网络编程概述 计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机可以方便地互相传递信 ...

  9. Java基础学习(9)

    Java基础学习 一.常用方法(API) 1.1 Math 1.2 System 1.3 Runtime 1. 4 .object 1.5 Objects 1.6 BigInteger BigInte ...

  10. java基础小记_[Java教程]Java基础学习小记

    [Java教程]Java基础学习小记 0 2016-10-07 18:00:07 题外话:总结了多年的学习心得,不得不说,睡眠是一个学习者的必需品!所谓"早起毁一天"不是没有道理哪 ...

最新文章

  1. 你还有学了三年建模的朋友吗?他有救了
  2. TortoiseGit 连接oschina不用每次输入username和password的方法
  3. Python3判断自身脚本是不是在运行
  4. centos7查看内核以及删除旧内核
  5. springboot接收文件_SpringBoot2.x系列教程61--SpringBoot整合MQ之ActiveMQ实现消息传递
  6. Linux 本地密码正确无法登录,记一次无法正常本地登陆Linux服务器(确定密码正确)...
  7. Unity3D动画面板编辑器状态属性对照表
  8. getBoundingClientRect使用指南
  9. SQL Server 2019概述和安装
  10. 8、第六 -面向对象高级语法-异常处理
  11. 风扇转速/CPU温度监控工具推荐
  12. 沉没成本---欲罢不能的困局?
  13. 10个Web移动开发JavaScript框架
  14. FFmpeg —— 13.示例程序(七):视频编码器(YUV编码为H265)
  15. Css Gird网格布局详细介绍
  16. Facebook语音识别野心曝光,测试Aloha,挑战苹果Siri
  17. 抖音直播间挂人气协议工具
  18. python可以数独游戏吗_Python小实验——数独游戏
  19. 网上千万不要在非官方直营店铺买的商品排行榜
  20. OSChina 周二乱弹 —— 有一种蛋蛋的忧伤

热门文章

  1. python之去掉字符串中空格的方法
  2. 计算几何基础——【点积和叉积的用处】
  3. 如何通俗易懂地解释什么是SOA?什么是服务治理
  4. python中[x for x in range(n)]列表推导式
  5. 烟台大学CSDN俱乐部参加2012移动开发者大会见闻
  6. 当矩阵的秩小于未知数的个数时,方程组有无数个解;当矩阵的秩等于未知数的个数时,方程组只有零解。...
  7. 使用 redis 中的 lzf 压缩算法
  8. 【手写 Vue2.x 源码】第十八篇 - 根据 render 函数,生成 vnode
  9. 数据库——JDBC基本连接步骤
  10. 【java学习】 面向对象编程+java购物车系统