Java: 2进制与基本类型

本文深入探讨了计算机中的进制系统,特别是2进制,包括进制转换方法和位运算。介绍了Java中声明不同进制数值的方式,并详细讲解了基本数据类型的存储,如整数类型的2进制补码表示。同时,文章讨论了IEEE754标准在浮点数表示中的应用以及BigDecimal如何确保高精度计算。
摘要由CSDN通过智能技术生成

纲要:

  • 计算机中的进制
  1. 位值制计数法
  2. Java中的进制
  3. 位运算
  • 基本数据类型的存储
  1. Java中的整数类型
  2. IEEE754及BigDecimal
  3. 小数的2进制化
  4. Java中的字符型和布尔型

计算机中的进制

1.位值制计数法

定义: 按位置决定数值的方式来计数的方法

一个数的大小是用一组有顺序的数字表示。

例如: 1 2 3的全排列是表示不一样的数值。[可以自己试着用dfs深度优先遍历试试全排列]

数字所表示的大小,取决于它所代表的数值所处的位置

扩展知识:

1.数码:使用的数字符号

2.基数:每个进制的基数

3.位权:固定位置对应的单位值。

例如:10进制的数码:0 1 2 3 4 5 6 7 8 9

           10进制的基数: 10

          10进制的位权: 个 十 百 千 万 。。。。。

例如:2019中的2代表1000的个数,0代表100的个数,1代表10的个数,9表示1的个数。

所以2019 = 2* 1000 + 0* 100 + 1*10 + 9 *1 = 2*10^3 + 0*10^2+1*10^1+9*10^0

可以看出,位权就是数码位置所代表的固定单位值 = “基数^N”。

而N(指数) 的规律: 从0开始,从右到左,顺序递增    

由上面可以推出:

2进制的计数规则:

数码:0 1

基数: 2

位权: 基数的幂次方:从右到左2的0次方、2的1次方、2的2次方.。。

2.2进制转化为10进制:

规则:展开位权进行求和运算

e.g: 100110转化为10进制:

=1*2^5+0*2^4+0*2^3+1*2^2+1*2^1+0*2^0 = 38

3.  10进制转化为2进制:

规则:除2取余直到运算结果=0,则将余数倒序排列得到最终结果。

e.g: 29转化为2进制:

所以结果=11101

4.   2进制的小数部分:

e.g: 10进制的小数:0.1256 = 1*(10^(-1))+2*(10^(-2))+5*(10^(-3))+6*(10^(-4))

e.g: 2进制的小数:0.1101 = 1*(2^(-1))+1*(2^(-2))+0*(2^(-3))+1*(2^(-4))

即:2进制的小数位权从左到右:2^(-1)、2^(-2)、2^(-3)、2^(-4).。。。

5.  2进制的小数部分:2进制转10进制:

规则:展开位权进行求和运算

e.g: 0.1101 =1*(2^(-1))+1*(2^(-2))&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒不了的星期八

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值