700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 进制间的相互转换 二进制转十进制 八进制转十进制 十六转十进制

进制间的相互转换 二进制转十进制 八进制转十进制 十六转十进制

时间:2022-02-20 07:56:00

相关推荐

进制间的相互转换 二进制转十进制 八进制转十进制 十六转十进制

1、什么是进制

进制:就是进位制,规定的一种进位方法。对于任何一种进制 X ,标识在某一位上的数运算时,逢X进一。

二进制:逢2进1,用0和1表示;

八进制:逢8进1,0-7;

十进制:逢10进1,0-9;

十六进制:逢16进1,0-9,A-F(10-15);

我们默认使用的是10进制计数。

2、二进制和十进制的相互转换
二进制----->十进制:计算公式:系数 * 基数 ^ 权次(这个公式适用于任何进制到十进制的转换)

权次:从右到左的角标,从0开始

10100010 = 0*2^0 + 1*2^1 + 0*2^2 + 0*2^3 + 0*2^4 + 1*2^5 + 0*2^6 + 1*2^7= 0 + 2 + 0 + 0 + 0 + 32 + 0 + 128= 162

二进制的10100010 转换为十进制为162。

十进制----->二进制:计算公式:基数 / 要转换到的进制,直到除尽或者余数为0,然后反向排列余数得到转换后的进制数(适用于十进制转换到其他任何进制)。

十进制162转换为二进制:

162 / 2 ---- 得 81----- 余 0

81 / 2 ------得40 ------余 1

40 / 2-------得20 ------余 0

20 / 2-------得10 ------余 0

10 /2 -------得5 ------- 余 0

5 / 2 --------得2 ------- 余 1

2 / 2 --------得1 ------- 余 0

然后反向取值得到:10100010

其他进制和十进制的相互转换道理相同。

3、java常用类型能存储的大小:

计算机是使用二进制存储数据的,是已补码的形式存储的,一个字节(byte)占8位(bit),首位是表示符号位,0:正,1:负,不然计算机不知道正负。其余位数标识数值的大小,正数的补码就是原码,负数的补码是去除首位,其余位取反,然后结果加1,在变成负数。

byte:1个字节,8位能存储 -128 ~ 127

01111111: 标识最大的正数值,10000000:标识最小的负数值。

01111111变为十进制,去除首位,其余7位运算,得到最大值127:

1111111 = 1*2^0 + 1*2^1 + 1*2^2 + 1*2^3 + 1*2^4 + 1*2^5 + 1*2^6= 1 + 2 + 4 + 8 + 16 + 32 + 64= 127

而10000000首位为1标识负数,负数转换的时候去除首位,后面的按位取反得到反码计算结果然后加1,10000000去除首位然后取反得到1111111,转换为10进制:

1111111 = 1*2^0 + 1*2^1 + 1*2^2 + 1*2^3 + 1*2^4 + 1*2^5 + 1*2^6= 1 + 2 + 4 + 8 + 16 + 32 + 64= 127= 127 + 1(首位是负数所以结果在加1)= 128= -128(变成负数)

所以byte能存储数值的范围是 -128 ~ 127。

short:2个字节,16位,-32768~32767int:4个字节,32位, -2^31 ~ 2^31-1long:8个字节,64位,-2^63 ~ 2^63-1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。