zoukankan      html  css  js  c++  java
  • 进制转换

    前提知识:

    1、位移:

    <<:左移:将操作数所有二进制数左移一位,右边空位用零补齐。如:00001011<<1=00010110

    >>:右移:将操作数所有二进制右移一位,左边空位如果数为负数补1,正数补0.如:00001011<<1=00000101

    >>:无符号右移:将操作数所有二进制右移一位,左边补0.

    2、10==A,11==B...代码:

    数据int temp;

    (char)(temp-10+'A')

     1 public class Total_Exchange {
     2 
     3     public static void main(String[] args) {
     4         // TODO Auto-generated method stub
     5         trans(60,1,1);//十进制--->二进制
     6         trans(60,15,4);//十进制---->十六进制
     7         trans(60,7,3);//十进制----->八进制
     8     }
     9     public static void trans(int num,int base,int offset) {
    10         if(num==0) {
    11             System.out.println("0");
    12             return;
    13         }
    14         char[] chs= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    15         char[] arr=new char[8];
    16         int pos=arr.length;
    17         while(num!=0) {
    18             int temp=num&base;
    19             arr[--pos]=chs[temp];
    20             num=num>>>offset;
    21         }
    22         for(int x=pos;x<arr.length;x++) {
    23             System.out.print(arr[x]);
    24         }
    25         System.out.println();
    26     }
    27 
    28 }

    以上代码在JAVA中可用以下代码实现:
    Integer.toBinaryString(num);//二进制

    ........toOctalString(num);..八进制

    ........toHexString(num);//十六进制

  • 相关阅读:
    Linux下挂载新硬盘
    远程编写+调试服务器上的Python程序
    记一次CUDA编程任务
    CUDA核函数调用基础数学API的一个奇葩情况
    Python多线程常用包对比
    Python threadpool传递参数
    代码生成器
    从移动优先到离线优先(三)
    从移动优先到离线优先(二)
    从移动优先到离线优先(一)
  • 原文地址:https://www.cnblogs.com/fmust/p/12378581.html
Copyright © 2011-2022 走看看