学习笔记之计算机基本原理

进制

  1. 二进制:0,1 ,满2进1.前缀:0b/0B)(后缀:b/B)。
  2. 八进制:0-7 ,满8进1. 以数字0开头表示。(前缀:0)(后缀:o/O)
  3. 十进制:0-9 ,满10进1。(前缀:无,可加+/-)(后缀d/D)
  4. 十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。
    (前缀:0x/0X)(后缀:h/H)
    如:0x21AF +1= 0X21B0

在这里插入图片描述
在这里插入图片描述

二进制转换成十进制示例

规则:从最低位开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
0b1011=1* 20+121+022+1*23=1+2+0+8=111

十进制转换成二进制

在这里插入图片描述

八进制转换成十进制示例

规则:从最低位开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。
0123 = 3 * 8 ^ 0 + 2 * 8 ^ 1 + 1 * 8 ^ 2 = 3 + 16 + 64 = 83

十进制转换成八进制在这里插入图片描述

十六进制转换成十进制示例

规则:从最低位开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。
0x34A = 10 * 16 ^ 0 + 4 * 16 ^ 1 + 3 * 16 ^ 2 = 842

十进制转换成十六进制

在这里插入图片描述

二进制转换成八进制在这里插入图片描述

八进制转换成二进制

在这里插入图片描述

二进制转换成十六进制

在这里插入图片描述

十六进制转换成二进制

在这里插入图片描述

二进制在运算中的说明

  1. 现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。进位规则是“逢2进1”,数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。

原码 、反码 、补码

原码:

是计算机机器数中最简单的一种形式,数值位就是真值的绝对值,符号位位“0”时表示正数,符号位为“1”时表示负数,原码又称带符号的绝对值。

反码:

通常是用来由原码求补码或者由补码求原码的过渡码。

补码:

是计算机把减法运算转化为加法运算的关键编码,在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理 。

  1. 二进制的最高位是符号位: 0表示正数,1表示负数
  2. 正数的原码,反码,补码都一样 (三码合一)
  3. 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
  4. 负数的补码=它的反码+1 //=> 它的反码 = 补码 - 1
  5. 0的反码,补码都是0
  6. java没有无符号数,换言之,java中的数都是有符号的
  7. 在计算机运算的时候,都是以补码的方式来运算的.
  8. 当我们看这个结果的时候,要看他的原码

额外知识:

  • 按位与 &:两位全为1,结果为1,否则为0
  • 按位或 | : 两位有一个为1,结果为1,否则为0
  • 按位异或 ^ : 两位一个为0,一个为1,结果为1,否则为0
  • 按位取反~ : 0->1 ,1->0

2 & 3

	0000 0010
	0000 0011
 & 0000 0010  =》 2

-2 的取反
按位~ -2 : 0->1 ,1->0

-2 的原码 1000 0010 => 反码 1111 1101 => 补码 1111 1110 => 取反 0000 0001

2 的取反
按位~ 2 : 0->1 ,1->0

2 的原码 0000 0010 => 反码 0000 0010 => 补码 0000 0010 => 取反 1111 1101
1111 1101(补码) => 1111 1100 (反码) => 1000 0011 => -3

1)>>、<< 算术右移和算术左移,运算规则:
算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位
算术左移 <<: 符号位不变,低位补0

2)>>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0
特别说明:没有 <<< 符号
int a=1>>2; // 0000 0001 => 0000 0000 , 本质 1 / 2 / 2 = 0
int c=1<<2; // 0000 0001 => 0000 0100 , 本质 1 * 2 * 2 = 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值