进制以及进制之间的转换

进制书写格式:

十进制:Java中,数值默认都是10进制,不需要加任何修饰。

二进制:数值前面以0吧、开头,b大小写都可以。

八进制:数值前面以0开头。

十六进制:数值前面以0x开头,x大小写都可以。

进制:指进位制,是人们规定的一种进位方式表示某一位置上的数,运算时逢X进一位。

十进制是逢十进一,二进制逢二进一,八进制逢八进一,十六进制逢十六进一……

依此类推就是进制格式:要注意的是十六进制的数从十开始用英文字母表示:

例如:十六进制格式为:1 2 3 4 5 6 7 8 9 a b c d e f

进制转换:

第一位数乘于1,第二位数乘于2,第三位数乘于4,第四位数乘于8,第五位数乘于16,第六位数乘于32,第七位数乘于64,第八位数乘于128,第九位数乘于256……等。以此类推用1倍数往上推;

二进制

二进制的:0010 1001 等于八进制的:51   十进制的:41 十六进制的:29

​

二转八:数字从右往左数,数字没有2,到2了就进一           三位为一个数
二转十六:数字从右往左数,数字没有2,到2了就进一 四位为一个数
二转十:公式:系数*基数的权次相加
系数:每一【位】上的数
基数:几进制,就是几
权:从数值的右侧,以0开始,逐个+1增加
例:二进制101001转八进制 = 1*8^5   0*8^4   0*8^3   1*8^2   0*8^1   1*8^0   然后把他们都加起来就是十进制的结果等于51

​

例:二进制101001转十进制 = 1*10^5   0*10^4   0*10^3   1*10^2   0*10^1   1*10^0   然后把他们都加起来就是十进制的结果等于41

​

例:二进制101001转十六进制 = 1*16^5   0*16^4   0*16^3   1*16^2   0*16^1   1*16^0   然后把他们都加起来就是十进制的结果等于29

八进制

八转二:拆分成01对应的数字,例:八进制的65等于二进制的110101,就是从右往左数124为一位数,101的个十百分别对应的是124位才能进制到该数值,后又是三位为一位数;
八转十:公式:系数*基数的权次相加
系数:每一【位】上的数
基数:几进制,就是几
权:从数值的右侧,以0开始,逐个+1增加
例:八进制65转十进制   然后把他们都加起来就是十进制的结果等于53

​

八转十六:可以先转二进制再转十六进制,

十进制:

公式:除基取余
使用源数据,不断的除以基数(几进制,基数就是几)得到的余数,直到商为0,再将余数带拼起来即可。

十六进制:

十六转二:拆分成01对应的数字,例:十六进制的35等于二进制的110101,就是从右往左数124为一位数,0101的个十百分别对应的是1248位才能进制到该数值,后又是四位为一位数;
十六转八:可以先转二进制再转八进制,
十六转十:公式:系数*基数的权次相加
系数:每一【位】上的数
基数:几进制,就是几
权:从数值的右侧,以0开始,逐个+1增加
例:十六进制65转十进制   然后把他们都加起来就是十进制的结果等于96

原码反码补码:

注意:计算机中的数据,都是以二进制补码的形式再运算,而补码则是通过反码和原码推算出来的。

原码(可直观看出数据大小)

就是二进制定点表示法,即最高位为符号位,【0】表示正,【1】表示负,其余位表示数值的大小。

通过一个字节表示+7和-7,代码:byte b1=7;byte b2 = -7;

一个字节等于八个比特位,也就是八个二进制位

0(符号位)    0000111

1(符号位)    0000111

反码:

正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码(数据以该状态进行运算)

正数的补码预取原码相同;负数的补码是在其反码的末位加1;

例:求-7的补码

原码:1(符号位)      0000111------------>符号位不变,0变1,1变0

反码:1(符号位)      1111000------------>反码的末尾加1,求补码

                                                               +1

补码:1(符号位)      1111001

补码推原码返回来减1操作即可;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值