位运算与进制-笔记

本文介绍了位运算与进制的基础知识,包括整数类型的字节数、原码、反码和补码的概念。详细讲解了位运算,如按位左移、右移、无符号右移、与、或、非和异或,并强调所有运算都在补码上进行。
摘要由CSDN通过智能技术生成

位运算与进制

一、基础知识

Basic knowledge:

我们知道整数可以使用这四种基础类型:byte、short、int和long,它们分别占用1、2、4和8个字节,即8、16、32和64个比特位。

二、原码,反码和补码

在你学习位运算前,你不得不先了解何谓原码、反码和补码。

你可能听说过二进制、八进制、十进制和十六进制这些,但在计算机的世界里,它通常使用二进制进行运算。

各种进制

 HEX表示十六进制
 十六进制是用0~9以及A~F这十六个数码表示的数字,A~F对应的是十进制中的10~15,它的基数是16,进位规则是“逢十六进一”
 示例:0xAf2   (即十进制的10*16*16 + 15*16 + 2 = 2802)
 # 十六进制采用0x作为前缀,x大小写不限,注意十六进制的写法哦,后边的字符大小写不限
 ​
 DEC表示十进制
 十进制就是日常用的数制,用0~9这十个数码表示数字,它的基数是10,进位规则是“逢十进一”
 示例:10
 # 前边啥也不加。零也不要加,否则会转成八进制
 ​
 OCT表示八进制
 八进制就是用0~7这八个数码表示的数,它的基数是8,进位规则 是“逢八进一”
 示例:012    (即十进制的10)
 # 八进制采用0作为前缀,也就是说,java中的十进制前面是不能加0的,加了0就代表你写的数字是八进制
 ​
 BIN表示二进制 
 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”
 示例:0x101
 # 二进制在java中用0x作为修饰前缀,注意是数字0和字母x哦,字母x大小写不限,二进制的101就是十进制的5

简记

 正数三码合一,即三个码的值都一样
 ​
 负数以byte型整数为例,占8个比特位,有效位为7,左边第一位(右往左数第八位,0代表正数)为1,代表负数
 例如-127,绝对值为127,原码为01111111,反码为00000000,补码则是00000001
 //反码在有效位取反,符号位不变,补码在反码的基础上加一

三、位运算

前面介绍了整数的二进制操作,那么在计算机操作中,往往对二进制辅以位运算,以此来达到快速运算的结果,接下来,就开始学习计算机中的位运算操作,首先将所有的位运算列出来,如下:

所有的运算用的都是补码!!!

所有的运算用的都是补码!!!

所有的运算用的都是补码!!!

运算符 说明
<< 左移位,在低位处补0
>> 右移位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值