精华内容
下载资源
问答
  • 十六进制转十进制

    2017-04-25 11:14:51
    十六进制转十进制c++程序
  • 十六进制转十进制直接用的API,后面做十进制转十六进制时我就说自己写一遍 2.十进制转十六进制思路: 写一个方法,传入int类型的十进制数,最后返回一个十六进制的字符串结果。此时返回的字符串是逆序的,最后输出...

    1.题目:

    问题描述
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入 30
    样例输出 1E

    做十六进制转十进制直接用的API,后面做十进制转十六进制时我就说自己写一遍

    2.十进制转十六进制思路:

    写一个方法,传入int类型的十进制数,最后返回一个十六进制的字符串结果。此时返回的字符串是逆序的,最后输出时反向即可。
    具体处理:因为是转十六进制,所以不断对16求余即可,判断余数的大小,大于9以后就要以大写字母的形式输出了,此处使用字符串拼接的方式。
    内联代码片

    import java.util.Scanner;
    public class DecToHex {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int a = sc.nextInt();
    		String s = decToHex(a);
    		for(int i = s.length() - 1; i >= 0; i--) {
    			System.out.print(s.charAt(i));
    		}
    	
    	}
    	public static String decToHex(int a) {
    		String s = "";
    		int m = 0;
    		int n = a;
    		if(a == 0) {
    			s += '0';
    			return s;
    		}
    		while(n > 0) {
    			m = n % 16;
    			n = n / 16;
    			switch(m) {
    			case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: 
    				s += m;  break;
    			case 10: s += 'A'; break;
    			case 11: s += 'B'; break;
    			case 12: s += 'C'; break;
    			case 13: s += 'D'; break;
    			case 14: s += 'E'; break;
    			case 15: s += 'F'; break; 
    			    
    			}
    		}
    		return s;
    	}
    }
    
    展开全文
  • 十六进制转十进制 解题思路 十六进制转八进制 解题思路 数列排序 解题思路 这几道题涉及到java进制转换的函数,一定要记住鸭~   十进制转十六进制 解题思路 import java.util.Scanner; public class ...

     目录

    十进制转十六进制

    解题思路

    十六进制转十进制

    解题思路

    十六进制转八进制

    解题思路

    数列排序

    解题思路

    这几道题涉及到java进制转换的函数,一定要记住鸭~


     

    十进制转十六进制

    解题思路

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in = new Scanner(System.in);
    		int a = in.nextInt();
    		System.out.println(Integer.toHexString(a).toUpperCase());
    	}
    
    }
    

     

    十六进制转十进制

    解题思路

    这题要注意描述的是不超过8位的十六进制数,所以不能parseInt,会超限,故使用Long的方法parseLong()

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in = new Scanner(System.in);
    		String a = in.nextLine();
    		System.out.println(Long.parseLong(a, 16));
    	}
    
    }
    

     

    十六进制转八进制

    解题思路

    这个题有大坑啊!!!十六进制数的位数是100000,测试数据有这么多啊!!柳婼姐姐的算法提交是不能通过的。下面是我找到的前辈的代码。。这题如果是比赛我可能会放弃。。?

    这里循环输入的时候如果使用nextLine()就会将输入n之后的回车读入而产生错误,推荐使用next()。

    import java.util.Scanner;  
    public class Main {  
    
        public static void main(String[] args)  
        {  
                 Scanner sc=new Scanner(System.in);  
                 int n=sc.nextInt();  
                 String[] st=new String[n];  
                 for(int i=0;i<n;i++)  
                 {  
                 st[i] =sc.next();  
                 }   
                 for(int i=0;i<n;i++)  
                 {  
                     String str1=LiuZhuanEr(st[i]);     
                     int len_str1=str1.length();  
                     if(len_str1%3==1)str1="00"+str1;   
                     else if(len_str1%3==2)str1="0"+str1;  
                     ErZhuanBa(str1);  
                     System.out.println();  
                 }  
    
    
        }  
    public static String LiuZhuanEr(String  str)  
        {  
                 int len_str=str.length();  
                 StringBuilder str2=new StringBuilder();  
                 for(int i=0;i<len_str;++i)   
                 {   
                 switch(str.charAt(i))   
                 {   
                 case '0':str2.append("0000");break;   
                 case '1':str2.append("0001");break;   
                 case '2':str2.append("0010");break;   
                 case '3':str2.append("0011");break;   
                 case '4':str2.append("0100");break;   
                 case '5':str2.append("0101");break;   
                 case '6':str2.append("0110");break;   
                 case '7':str2.append("0111");break;   
                 case '8':str2.append("1000");break;   
                 case '9':str2.append("1001");break;   
                 case 'A':str2.append("1010");break;   
                 case 'B':str2.append("1011");break;   
                 case 'C':str2.append("1100");break;   
                 case 'D':str2.append("1101");break;   
                 case 'E':str2.append("1110");break;   
                 case 'F':str2.append("1111");break;   
                 default:break;   
                 }   
        } return str2.toString();  
        }  
      public static void ErZhuanBa(String str2)  
      {  
               int len=str2.length();  
               int a;  
               a=(str2.charAt(0)-'0')*4+(str2.charAt(1)-'0')*2+(str2.charAt(2)-'0');  
               if(a!=0)
               System.out.print(a);  
               for(int i=3;i<=len-2;i+=3)   
               {   
               a=(str2.charAt(i)-'0')*4+(str2.charAt(i+1)-'0')*2+(str2.charAt(i+2)-'0');   
               System.out.print(a);  
               }   
    
    
      }  
    }  

     

    数列排序

    解题思路

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class 基础练习_数列排序 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in = new Scanner(System.in);
    		int n = in.nextInt();
    		int a[] = new int[n];
    		for (int i = 0; i < n; i++) {
    			a[i] = in.nextInt();
    		}
    		Arrays.sort(a);
    		for (int i = 0; i < n; i++) {
    			System.out.print(a[i] + " ");
    		}
    	}
    
    }
    

     

     

    希望我的记录能够帮到你~ 喜欢请点赞!?


    谢谢你看到这里!写作仓促,有疏漏之处还请评论指正,共同探讨进步!


     

    展开全文
  • 16进制转10进制例程,十六进制转十进制,十六进制,十进制,属于入门级教程源码,由尽在眼前写的例子
  • 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制...

    十六进制转八进制

    问题描述

    给定n个十六进制正整数,输出它们对应的八进制数。

    输入格式

    输入的第一行为一个正整数n (1<=n<=10)。
    接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

    输出格式

    输出n行,每行为输入对应的八进制正整数。

    【注意】
    输入的十六进制数不会有前导0,比如012A。
    输出的八进制数也不能有前导0。

    样例输入

    2
    39
    123ABC

    样例输出

    71
    4435274

    【提示】
    先将十六进制数转换成某进制数,再由某进制数转换成八进制。

    代码如下:

    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class 十六进制转八进制 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		sc.nextLine();
    		for (int i = 0; i < n; i++) {
    			System.out.println(new BigInteger(sc.nextLine(), 16).toString(8));
    		}
    	}
    }
    

    在这里插入图片描述

    十六进制转十进制

    问题描述

    从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
    注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

    样例输入

    FFFF

    样例输出

    65535

    代码如下:

    Java
    import java.util.Scanner;
    
    public class 十六进制转十进制 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		String n = sc.nextLine();
    		System.out.println(Long.valueOf(n, 16));
    	}
    }
    

    在这里插入图片描述

    C++
    #include <iostream>
    #include <cstdio>
    
    using namespace std;
    
    int main()
    {
    	long long s;
    	scanf("%llx", &s);
    	printf("%lld", s);
    	return 0;
    }
    

    在这里插入图片描述

    十进制转十六进制

    问题描述

    十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。

    输入格式

    输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647

    输出格式

    输出这个整数的16进制表示

    样例输入

    30

    样例输出

    1E

    代码如下:

    Java
    import java.util.Scanner;
    
    public class 十进制转十六进制 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		System.out.println(Integer.toHexString(n).toUpperCase());//转为十六进制A---F大写
    	}
    }
    

    在这里插入图片描述

    C++
    #include<iostream>
    #include <cstdio>
    
    using namespace std;
    
    int main()
    {
       int n;
       scanf("%d",&n);
       printf("%X",n);
       return 0;
    }
    

    在这里插入图片描述

    小结:

    十进制向二、八、十六进制的转换
    Integer.toBinaryString(i)表示十进制转为二进制
    Integer.toOctalString(i)表示十进制转为八进制
    Integer.toHexString(i)表示十进制转为十六进制

    进制转换问题可以直接用格式化输出。
    十进制整数,%o表示以八进制进行输出
    十进制整数,%X / %x表示以十六进制进行输出,大写X表示使用大写字母,小写x表示使用小写字母。
    另外使用%#o,%#X,%#x,得到的输出包含前缀0,0X,0x。

    展开全文
  • 十进制转十六进制 除16取余数得最低1位,然后把商继续除得第2位,直到商等于0 45的16进制为 45/16 余数 13(D) 商 2 ...十六进制转十进制 0xf ==> 15 0x12 ==> 2*16的0次方 + 1*16的1次方 = 18 ...

    十进制转十六进制

    除16取余数得最低1位,然后把商继续除得第2位,直到商等于0

    45的16进制为

    45/16 余数 13(D) 商 2

    2/16 余数为 2

    • A(10) B(11) C(12) D(13) E(14) F(15)
    • 除数小于被除数,余数是自己本身

    十六进制转十进制

    0xf ==> 15

    0x12 ==> 2*16的0次方 + 1*16的1次方 = 18

    345 ===> 5*16的0次方 + 4*16的1次方 + 3*16的2次方 = 837

    展开全文
  • 十六进制转十进制问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535 ...
  • 十六进制转八进制:问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1&lt;=n&lt;=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要...
  • java实现十六进制转十进制

    万次阅读 2019-06-16 22:29:59
    写了两种十六进制转十进制的方式,仅供参考。 基本思路:用十六进制中每一位数乘以对应的权值,再求和就是对应的十进制 方法一: /** * @param: [content] * @return: int * @description: 十六进制转十进制 */ ...
  • 1.十六进制转八进制 见例题: 问题描述  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1&lt;=n&lt;=10)。  接下来n行,每行一个由09、大写字母AF组成的字符...
  • while True: try: #print(int(input(),16)) #十六进制转十进制 int(‘0x2’,16) 十进制转16进制hex() a=input('请输入一个十进制的数:') print(hex(int(a))) except: break
  • 进制转十进制心算大法​mp.weixin.qq.com下面继续讲关于二进制与十六进制间的转换。本系列文章的文末都会放上一个“速记卡”,这是为了方便以后回来快速查找并预览相关知识。1 十六进制下面是十六进制 十进制 二...
  • 功能:十进制转换二,八,十六进制 及 二,八,十六进制转十进制
  • VB 8位十六进制转十进制,大家可以看看,祝好用啊。8位十六进制转十进制,8位十六进制转十进制
  • labview十六进制转十进制,输入字符串控件是十六进制显示。
  • 这几天在做一个与PLC交互的系统,PLC会传过来一些指令,这些指令是二进制的格式,要转为4位十进制的指令来读,下面是... * 二进制转十六进制方法 * @param bString * @return */ public static String bytes2hex(St
  • 方便快捷易操作的十六进制转十进制,进制转换软件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,449
精华内容 5,379
关键字:

十六进制转十进制