05-进制与转换

计算机进制有:十进制、二进制、八进制、十六进制.....

二进制

  • 计算机中的数据都以二进制数字保存。二进制:逢二进一。只有0、1两个值。
  • 计算机中信息的存储单位:位(bit),表示一个二进制数码0或1,是计算机存储处理信息的最基本单位。
  • 字节(Byte),一个字节由8个位组成。他表示作为有一个完整处理单位的8个二进制数码。

八进制

  • 基数为8,java中八进制数据要以0开头,如0123

十六进制

  • 基数为十六,逢十六进一。用abcdef表示0-9之上的值
  • java中十六进制数据要以0x或0X开头。如0x23D
  • 十六进制转换成二进制只需将每个十六进制数字替换为相应的四个二进制数即可

二进制

十六进制

二进制

十六进制

0000

1010

A

0001

1

1011

B

0010

2

1100

C

0011

3

1101

D

0100

4

1110

E

0101

5

1111

F

0110

6

 

 

 

 

0111

7

 

 

 

 

1000

8

 

 

 

 

1001

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

补码:

事实上,计算机内的二进制数值是以补码的形式表示的。

  • 正数的补码和其原码的形式是相同的;

  • 负数的补码是该数的绝对值的二进制形式,按位取反再加1;

二进制补码数值的最高位(最左位)是符号位,该位为0,表示数值为正数;该位为1,表示数值为负数。

主要原因:使用补码,可以将符号位和其他位统一处理;同时,减法也可以按加法来处理。

另外,两个用补码表示的数值相加时,如果最高位有进位,则进位被舍弃。

 

二进制转成十进制:

按权相加,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。

如 1011.01 = 1*2^3+0*2^2+1*2^1+1*2^0+0**2^(-1)+1**2^(-2)

                  = 8+0+2+1+0+0.25

                  = 11.25

十进制转成二进制:

整数部分:“除2取余。逆序排列”法

小数部分:“乘2取整,顺序排列”法

如 十进制数:89

2 | 89 —— 1    

2 | 44 —— 0  

2 | 22 —— 0 

2 | 11 —— 1

2 | 5   —— 1

2 | 2   —— 0

   1   

89 ==> 1011001 

 

如 十进制数:0.37

0.37*2=0.74  —— 0

0.74*2=1.48  —— 1

0.48*2=0.96  —— 0

0.96*2=1.92  —— 1

0.92*2=1.84  —— 1 

0.84*2=1.68  —— 1

0.68*2=1.36  —— 1

0.36*2=0.72  —— 0

0.72*2=1.44  —— 1 

0.37 ==> 0.010111101

 

其他进制转换:先转为二进制,再转换为其他进制。

二进制转成十六进制

4个二进制位是一个十六进制位

0101-1010  二进制数 —> 十进制数

5        10      十六进制中没有10,10 —> A

5         A       十六进制数 即为 0x5A

 

二进制转成八进制

3个二进制位是一个八进制位

001-011-010   二进制数 —> 十进制数

1   3   2            八进制数 即为 0132

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值