进制运算

进制

1、在Java中针对整数常量提供了四种表现形式

二进制
由这样的1,0组成的数据就是二进制数据。以0b开头
八进制s
由0、1…7组成,以0开头
十进制
由0、1…9组成,整数默认是十进制的
十六进制
由0、1…9、a、b、c、d、e、f(大小写均可)。以0X开头

2、进制转换
(1)其他进制到十进制

系数:就是每一个位上的数值
基数:x进制的基数就是x
权:对每一个位上的数据,从右边,并且从0开始编号,对应的编号就是该数据的权。
结果:系数*基数^权次幂之和。

举例
二进制 ————> 十进制
100 = 1 * 2 ^ 2 +0 * 2 ^ 1 + 0x2^0
= 4

八进制 ————> 十进制
100 = 1* 8 ^ 2 + 0 * 8 ^ 1 + 0 *8 ^ 0
= 64

十六进制 ————> 十进制
100 = 1* 16 ^ 2 + 0 * 16 ^ 1 + 0 * 16 ^ 0
= 256
0x3c = 3 * 16 ^ 1 + c * 16 ^ 0
= 48 +c
= 60

(2)十进制到其他进制除基取余,直到商为0,余数反转。

十进制 1234 ————> 十进制 1234
1234 = 1234/10 余数
= 1234 …4
= 123/10
= 12… 3
= 12/10
= 1… 2
十进制 20 ————> 二进制 0b10100
20 = 20/2
= 10 … 0
= 20/2
= 5 … 0
= 5/2
= 2 … 1
= 2/2
= 1 … 0

(3)进制转换的快速转换法 A:十进制和二进制间的转换 8421码是bcd码的一种

二进制11111111
十进制1286432168421

二进制到十进制的转换 :
方法:对应位置的数值相加
0b001010100 = 64 + 16 + 4 = 84
十进制到二进制的转换 :
方法:
从左向右,第一个由数减对应的十进制数值,之后的由差进行对比,如果大于用1代替反之则用0代替相对应的位置。

100 = 0b01100100
任意的X进制到Y进制的转换
X进制——>十进制——>Y进制

B:二进制到八进制,十六进制的转换
·二进制到八进制 3位组合
·二进制到十六进制 4位组合
例:
①:二进制到十进制,十进制到八进制或十六进制的转换
②:差分组合法
0b1011001 ——> 八进制
方式①;
0b1011001 = 64+16+8+1 = 89
89 = 0131
89 = 89/8
= 11 …1
= 11/8
= 1 …3
方式②;
0b1011001
001 011 001
1 3 1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值