精华内容
下载资源
问答
  • 1,将一个十进制的数转化十六进制,引申将一个十进制的数转化为二进制,再引申转化为任何进制的函数。 下面我写了一个功能性的函数 public class review1 { public static void main(String[] args) { ...

    1,将一个十进制的数转化十六进制,引申将一个十进制的数转化为二进制,再引申转化为任何进制的函数。

    下面我写了一个功能性的函数

    public class review1 {

    public static void main(String[] args) {

    // *******************调用工具类******************

    // 将十进制的135 转为 16进制的数

    System.out.println(tenToanyHexNumber(135, 16));

    // 将十进制的5转为 二进制的数

    System.out.println(tenToanyHexNumber(5, 2));

    /**

    * 十进制转化为二进制有一个API可以调用

    */

    int n = 5;

    String result = Integer.toBinaryString(n);

    System.out.println(result);

    }

     

    /**

    * 十进制转化为某一个进制数

    *

    * @param tenNumber 需要被转化的十进制的数字

    * @param hexNumber 需要转化的进制数字

    */

    public static String tenToanyHexNumber(int tenNumber, int hexNumber) {

    List<String> list = new ArrayList<String>();

    while (tenNumber / hexNumber != 0) {

    int aa = tenNumber % hexNumber;//获取求余的数字

    // System.out.println(aa);

    list.add(String.valueOf(aa));

    tenNumber = tenNumber / hexNumber;//获取除去进制数后的数,看是都还以为被除

    }

    // System.out.println(tenNumber);

    list.add(String.valueOf(tenNumber));//将最后一个数添加进入集合

    String endHexNumber = "";

    Collections.reverse(list);

    for (int i = 0; i < list.size(); i++) {

    endHexNumber = endHexNumber + list.get(i);

    }

    return endHexNumber;

    }

    }

     

     

    展开全文
  • 展开全部二进制32313133353236313431303231363533e78988e69d8331333366306435转十进制方法:“按权展开求和”【例】:规律:个位上的...注意:不是任何一个十进制小数都能转换成有限位的二进制数。(2)十进制转二进制...

    展开全部

    二进制32313133353236313431303231363533e78988e69d8331333366306435转十进制

    方法:“按权展开求和”

    【例】:

    规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十

    分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。

    注意:不是任何一个十进制小数都能转换成有限位的二进制数。

    (2)十进制转二进制

    · 十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)

    【例】:

    89÷2 ……1

    44÷2 ……0

    22÷2 ……0

    11÷2 ……1

    5÷2 ……1

    2÷2 ……0

    1

    扩展资料:

    二进制数转换成十六进制数:二进制数转换成十六进制数时,只要从小数点位置开始,向左或向右每四位二进制划分一组(不足四位数可补0),然后写出每一组二进制数所对应的十六进制数码即可。

    十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。

    十六进制数字与二进制数字的对应关系如下:

    0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C

    0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D

    0010 -> 2 0110 -> 6 1010 -> A 1110 -> E

    0011 -> 3 0111 -> 7 1011 -> B 1111 -> F

    【例】:将十六进制数5DF.9 转换成二进制:

    5 D F . 9

    0101 1101 1111 .1001

    即:(5DF.9)16 =(10111011111.1001)2{十六进制怎么会有小数点}

    【例】:将二进制数1100001.111 转换成十六进制:

    0110 0001 . 1110

    6 1 . E

    即:(1100001.111)2 =(61.E)16

    展开全文
  • 十进制转化为其他任何进制如出一辙,这里就以十进制转化为二进制为例,适当讲解。 首先举出一个

    十进制转化为其他任何进制如出一辙,这里就以十进制转化为二进制为例,适当讲解。
    首先举出一个10,对应的二进制为00000000 00000000 00000000 00001010。
    考虑:
    首先 10 除以 2 商 5 余 0
    接下来 5 除以 2 商 2 余 1
    继续 2 除以 2 商 1 余 0
    最后 1 除以 2 商 0 余 1
    此时当商为0时,可知已经求出,再根据此数的正负性,得出符号位,其他位补0。
    相关代码:

    public class ChangeBinary{    
    	public static void main(String[] args) {       
    	int arr[] = new int[32];       
    	int num = 10;       
    	for(int i = 0; i < 32; i++ ) {            
    		arr[i] = num % 2;            
    		num /= 2;       
    	}       
    	for(int i = 31;i >= 0; i--)        
    	System.out.print(arr[i]);
    	}
    }
    

    由上可知,十进制转化为十六进制是类似的。不再赘述。
    代码:

    public class ChangeBinary{    
    	public static void main(String[] args) {
    		char arr[] = new char[32];    	
    		int num = 1234;    
    		for(int i = 0; i < 32; i++ ) {        
    			int t = num % 16;        
    			if( t  == 10){            
    				arr[i] = 'A';        
    			} else if( t  == 11){            
    				arr[i] = 'B';        
    			} else if( t  == 12){            
    				arr[i] = 'C';        
    			} else if( t  == 13){           
    			 	arr[i] = 'D';        
    			} else if( t  == 14){            
    			 	arr[i] = 'E';       
    			} else if( t  == 15){            
    			  	arr[i] = 'F';       
    			} else{            
    			   	arr[i] = (char)(t + '0');       
    			}      
    			   	num /=16;    
    		}    
    		for(int i = 31;i >= 0; i--)         
    			System.out.print(arr[i]);    
    	}
    }
    

    望多加指导,互相学习!

    展开全文
  • 进制转化

    2014-08-05 16:18:00
    进制转化为八进制就是就是十进制数直接除以8,得出得整数就是八进制的十位以前的数,余数是八进制个位数,然后不断循环 十进制转化为十六进制同八进制 package cn.Offer; import java.util.Scanner; /* ...

     

    包括十进制转化为二进制,八进制,十六进制

     

    十进制转化为二进制使用的是位移运行和位与运算

    十进制转化为八进制就是就是十进制数直接除以8,得出得整数就是八进制的十位以前的数,余数是八进制个位数,然后不断循环

    十进制转化为十六进制同八进制

     

    package cn.Offer;
    
    import java.util.Scanner;
    
    /*
     * 把一个整数(任何整数,包括正数或者负数)转化为二进制
     * 获取中间1的个数 
     * 
     * 各种做法都是对各种进制每位的分解再组合
     * 那么组合的方式有使用字符串连接,栈,数组
     * 这里使用的都是字符串连接
     */
    
    public class Exam10_HexadecimalConversion {
    
        public static void main(String[] args) {
            
            System.out.println("请输入一个整数");
            
            
            Scanner sc= new Scanner(System.in);        
            int value = sc.nextInt();
            System.out.println("结果:");
            System.out.println("这个整数的二级制是" + ConventIntToBinary(value));
            int num = NumOf1InBinary(value);
            System.out.println("其中包含了"+num+"个 1 ");        
            
            System.out.println("这个整数的八进制是" + ConventIntToBase8(value));
            System.out.println("这个整数的十六进制是" + conventIntToBase16(value));
            
                    
        }
        
    
        /*
         * 十进制转化为十六进制
         */
        private static String conventIntToBase16(int value) {
            String strResultString = "";
            
            while(value>16)
            {            
                String r = value%16+"";
                
                if(value%16>10)
                {
                    r= Character.toString((char)((int)('A') + (value%16 -10)));
                }            
                
                strResultString = r + strResultString;
                value=value/16;
            }
            
            strResultString = value + strResultString;
            
            return strResultString;
        }
    
    
        /*
         * 十进制转化为八进制
         */
        private static String ConventIntToBase8(int value) {
            String strResultString="";
            
            
            while(value>8)
            {            
                strResultString = value%8 + strResultString;
                value=value/8;
            }
            
            strResultString = value + strResultString;
            
            return strResultString;
        }
    
    
        /*
         * 计算二进制里1 的个数
         * 判断结束的标识使用flag==0
         * 因为flag不断左移,移动32次之后,为0
         */
        private static int NumOf1InBinary(int value) {
            int count = 0;        
            int flag = 1;
            while(flag!=0)
            {
                if((value & flag)!=0)
                    count++;
                flag=flag<<1;
            }        
            return count;
        }
    
        
        /*
         * 把十进制转化为二进制
         * 返回的结果的类型
         * 如果是int类型,显然不行,因为返回的是二进制,二进制可以达到32位数字,不管是int还是long类型都不可以,
         * 因为32位的数字在内存中占用的是32*8位
         * 
         * 返回字符串
         * 
         * 判断结束的标识,
         * 如果使用的是flag = 0 ,那么100返回的结果是00000000000000000000000001100100
         * 使用value =0,返回结果是1100100
         * 
         */
        private static String ConventIntToBinary(int value) {        
            String strResultString = "";        
            int flag = 1;        
            while(value!=0)  
            {
                if((value & flag)!=0)
                {
                    strResultString = 1+strResultString ;
                    value = value^ flag;                    
                }else {
                    strResultString =0+ strResultString ;
                }
                 flag = flag<<1;                       
            }        
            //return Long.parseLong(strResultString);
            return strResultString;
    
        }
    
    }

     

    顺便说下把十六进制转化为十进制

    /*
         * 十六进制转化为十进制
         */
        private static int ConventBase16ToBase10(String value16) {
            int result =0;
            
            if(value16=="")
            {
                return 0;            
            }
            
            char[] v16 = value16.toCharArray();
            for(int i=0;i<v16.length;i++)
            {
                int key=0;
                char v = v16[v16.length-1-i];
                if(v>='A' && v<='F')
                {
                    key= v-'A' +10;
                }else{
                    key= v-'0';
                }
                
                result = result + key* (int)Math.pow(16, i);
            }
            
            return result;
        }

     

    转载于:https://www.cnblogs.com/tech-bird/p/3892540.html

    展开全文
  • 题目1:将非负十进制整数n转换成b进制。(其中b=2~16) 题目2:任何一个正整数都可以用2的幂次方表示。例如: 137=2^7+2^3+2^0  同时约定幂次方用括号来表示,即ab可表示a(b)。 由此可知,137可表示: ...
  • 十进制快速转化为2-36进制的任何数字。 解决方案: 一个方法:Long.toString(N, M) M为进制数。 N为需要被转的数字(Long型)。 总结: 自己对很多API还是不够熟悉。自己应该扎实自己的基础。 转载于:...
  • /*通过输入十进制, 然后通过本程序就可以转换 任何你想要的进制*/ #include #include #include #include #include//最常使用它就是字符串的格式性转化 using namespace std; vector stack; void dec_to_...
  • public class IpChangedUtil {  //将127.0.0.1形式的IP地址转换成十进制整数,这里没有进行任何错误处理  public static long ipToLong(String strIp) {  long[] ip = new long[4];
  • 任何进制的相互转化

    2016-11-24 20:27:16
    1、问题: 给定一个M进制的数x,实现对x向任意的一个非M进制的数的转换。2、问题分析 ...二进制、八进制、十六进制相互转化:全部转化为十进制,然后按照其对应关系转化。 3、算法设计 将输入的任何数字
  • 之前学C语言没接触过递归函数,今天学函数接触到了,感觉学起来不太容易,这题目是将十进制数字转化,基本上转化任何进制数都可以,但是16进制比较麻烦,需要两个函数。一步一步读,知道每一步程序什么这么写,...
  • 任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1 + 6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计算机计算,则正好是156 33是一个八进制可以看做3*8^1+3*8^0 ...
  • 版权声明:本文博主 乔小白- 一字一句敲出来的原创作品,未经博主允许不得转载,多谢支持。...我们在正常的数学运算中,采用的是十进制(逢十进一),但是在计算机的数据中,有很多进制;下面列举几个进制...
  • 程序员经常会涉及到各种进制之间互相转化的问题,下面我就以我们常见的二进制,八进制,十进制,十六进制的互相转化的问题做一简单的探究: 二进制的表现形式:二进制是计算机能够识别的语言,任何数据都要在...
  • public static void ... //str 为十进制的数 BigInteger src = new BigInteger(str); //将要将十进制的数转化为多少进制的数 eg 2(将十进制的str转换为二进制输出) System.out.println(src.toString(p)); }
  • 对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] 进阶: 给出时间复杂度O(n*sizeof(integer))的...
  • 给定一个整数,编写一个算法将这个数转换十六进制数。对于负整数,我们通常使用补码运算方法。 注意: 十六进制中所有字母(a-f)都必须是小写。... 不能使用任何由库提供的将数字直接转换或格式化为十六进制...
  • 题目描述 定义:数值序列中包含2~16进制整数,如果序列中有一个数,与序列中其他任何一个数大小都...m的字符集0-9和A-F,保证数值在十进制下不超过1e9,行数不超过100001行。 输出描述: 输出j行(0<j<=i),每一行
  • 它的基数16,因为它使用16个符号来表示任何数字,并且每个数字都有一个相关的乘法因子,该乘数是16的幂。它基本上是一个“紧凑”编号系统,其中与要求的数字相比,只需很少的数字就可以表示足够大的数字 到十进制...
  • * 把一个汉字转为unicode的通用函数,不依赖任何库,和别的自定义函数,但有条件 * 条件:本文件以及函数的输入参数应该用utf-8编码,不然要加函数转换 * 其实亦可轻易编写反向转换的函数,甚至不局限于汉字,...
  • 第六章递归 题目二借鉴自: ...这道题目要求将十进制分别转化为二进制、八进制和十六进制。递归函数重视寻找递归体和递归的终止条件。 题目二:任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20。同...
  • 如果要转化的数0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。3. 给定的数确保在32位有符号整数范围内。4. 不能使用任何由库提供的将数字直接转换或格式化为十六进...
  • 文末阅读原文:获取2020年,最强Python学习资料Python小例子:...小例子一、 数字1 求绝对值绝对值或复数的模In [1]: abs(-6)Out[1]: 62 进制转化十进制转换二进制:In ...
  • 进制转换

    2019-11-10 14:26:32
    转换进制有很多方法,我们需要多元化学习,我们首先学习了十进制转化为二进制,逢二进一,这是最基础的学习,然后又学习二进制八进制十六进制的转换学习。 二进制转换为八进制是逢三进一,同理二转十六逢四进一,...
  • 十进制转十六进制的Java实现

    千次阅读 2018-06-03 21:57:37
    是在刷Leetcode题目的时候遇到的,先把题目...如果要转化的数0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数确保在32位有符号整数范围内。不能使用任何由库提...
  • 十进制整数的反码 题目要求: 每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 “101”,11 可以用二进制 “1011” ...将十进制转化为二进制; 互换二进制中的0,1; 将产生的反码再转换为十进制输出。
  • 将一个非负十进制整数n转化为b进制。 首先我们可以观察一下二进制的转化: 十进制的n = 10转化为二进制 具体方法是不断的除以2求余数(n%2)。n的变化: n = n / 2。出口就是n为0的时候。(递归出口因此就得到了) ...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

任何进制转化为十进制