进制转化及数据类型相关内容

进制转化

一、 十进制转二进制

除二取余法

1.首先用2整除一个十进制整数,得到一个商和余数。
2.然后再用2去除得到的商,又会得到一个商和余数。
3.重复操作,一直到商为小于1时为止。
4.然后将得到的所有余数全部排列起来,再将它反过来(逆序排列),切记一定要反过来!

乘二取整法

如果要将一个十进制小数转化为二进制,需要用到对小数部分进行乘二取整法

1.取出小数部分,乘以二,记下运算之后的小数的个位数的值。

2.重复上述操作,直到小数位数为零。

3.将第一步得到的值按顺序排列即为小数部分的二进制。

例如:将8.125转化为二进制

 

 答案为1000.001。

二、二进制转化为十进制

二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。

要想二进制00101010转为十进制,计算如下所示:
(0 * 2的零次方) + (1* 2的一次方)+ (0 * 2 的二次方)+(1 * 2的三次方) +(0 * 2的四次方) +(1* 2的五次方) + (0 * 2的六次方) + (0 * 2的7次方) = 0 + 2 + 0 + 8 + 0 + 32 + 0 + 0 = 42。

三、二进制转化为八进制

三位二进制位一个单元,每个单位的三个数按权相加,最终再排列得到其八进制形式。

*八进制由0—7组成。

例如,求010100.110的八进制形式:

 结果为24.6。

四、二进制转化为十六进制

四位二进制位一个单元,每个单位的四个数按权相加,最终再排列得到其十六进制形式。类比二进制转十六进制。

*十六进制由0—9和ABCDEF组成。

五、十六进制、八进制转化为十进制

十六进制转化为十进制时,需要按位乘上不同的权重,再进行相加得到。

例如:将十六进制数25A4转化为十进制数。

首先我们确定第0位数字为4,它的权重为16^0;第1位数字为A,对应的数字为10,权重为16^1;第2位数字5,对应权重为16^2;第三位数字2对应的权重为16^3。将它们相乘再求和为:4*16^0+10*16^1+5*16^2+2*16^3=4+160+1280+8192=9636。因此(25A4)16=(9636)10。

八进制转化为十进制,类比十六进制转化为十进制,只是将16换成8。

六、十六进制、八进制转化为二进制 

十六进制转二进制,将每位数转化为四位二进制数(注意需要时进行补零)。

同理,八进制转二进制,将每位数转化为三位二进制数进行顺序排列即可。

注意:Java支持书写二进制,八进制、十六进制数据,分别以0B或者0b、0、0X或0x开头

数据类型及使用注意事项

 数据类型分为引用数据类型基本数据类型

 

注意:Java中整型默认字面量为int;浮点型默认字面量为double

具体是什么意思呢?我们在定义时需要注意什么呢?希望下面两个例子有助于大家了解:

long a=12345678912//虽然a的初始值长度在long范围之内但是超出int的范围
//正确写法:
long a=12345678912L
float score=98.5//浮点型默认字面量为double,会报错
//正确写法:
float score=98.5F

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值