当前位置:网站首页 > Java基础 > 正文

java语言基础19



进制的基本转换:

十进制、二进制互转

1)十进制转化成二进制,除以2取余数

2)二进制转化成十进制,乘以2的幂数

十进制、八进制互转

1)十进制转化成八进制,除以8取余数

2)八进制转化成十进制,乘以8的幂数

十进制、十六进制互转

1)十进制转化成十六进制,除以16取余数

2)16进制转化成十进制,乘以16的幂数

负数的二进制表现形式

对应的整数二进制取反加1

例子:

二进制转化为其他进制

1)二进制转化成十进制:

1011  = 1*2(0)+1*2(1)+0*2(2)+1*2(3)= 11

2)二进制转化成八进制(三个一分段):

0 = 010-----------------101------------------------- 110 =   0256

2=1*2(1) 5=1*2(0) +1*2(2) 6=1*2(1)+1*2(2)

3)二进制转化成十六进制(4个一分段):

= 1010 ------------------------------1110 = 0xAE

10=1*2(1)+1*2(3) 14=1*2(1)+1*2(2)+1*2(3)   

10 11 12 13 14 15

A B C D E F

结论:

八进制数:其实就是二进制中的三个二进制位为一个八进制位

十六进制:其实就是二进制中的四个二进制位为一个十六进制位

十进制转化成其他进制

方法一:

1)十进制转化成二进制

6=110

2)将转化成的二进制,转化成八进制或十六进制参考上方

方法二:

参考:https://mp.weixin..com/s?src=11&timestamp=&ver=2140&signature=h-gqu3GT-YG1BQdytJzof7Itqfk*s8AYilB5100km0LrcnOwMbl2weX-ekZ2DS3c88yVeOT*OKemJJsEPSKlmjkn*3vs2Mh7q4t8-URPAFy1Kmen0zJb4bxodfZ8iX16&new=1

将十进制转换为其它进制时比较复杂,整数部分和小数部分的算法不一样

1)整数部分:

十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。具体做法是:

  • 将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;
  • 保留余数,用商继续除以 N,又得到一个新的商和余数;
  • 仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;
  • ……
  • 如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。

把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字。

2) 小数部分

十进制小数转换成 N 进制小数采用“乘 N 取整,顺序排列”法。具体做法是:

  • 用 N 乘以十进制小数,可以得到一个积,这个积包含了整数部分和小数部分;
  • 将积的整数部分取出,再用 N 乘以余下的小数部分,又得到一个新的积;
  • 再将积的整数部分取出,继续用 N 乘以余下的小数部分;
  • ……
  • 如此反复进行,每次都取出整数部分,用 N 接着乘以小数部分,直到积中的小数部分为 0,或者达到所要求的精度为止。

把取出的整数部分按顺序排列起来,先取出的整数作为 N 进制小数的高位数字,后取出的整数作为低位数字,这样就得到了 N 进制小数。

下图演示了将十进制小数 0.5 转换成八进制小数的过程:

负数的二进制表现

负数的二进制最java语言基础19高位是1

-6的二进制

补充:

版权声明


相关文章:

  • java sscript 基础教学2025-04-04 22:34:00
  • java多线程基础2025-04-04 22:34:00
  • java基础入口2025-04-04 22:34:00
  • java基础程序全程2025-04-04 22:34:00
  • java 基础2025-04-04 22:34:00
  • java的基础教程2025-04-04 22:34:00
  • java基础综合训练2025-04-04 22:34:00
  • java基础教学ppt2025-04-04 22:34:00
  • java基础6262025-04-04 22:34:00
  • java包基础语言2025-04-04 22:34:00