精华内容
下载资源
问答
  • 十六进制转成十进制的java程序实现

    热门讨论 2009-04-26 11:09:45
    十六进制转成十进制的java程序实现,实在是没分了。没办法了。
  • 十六进制转八进制:问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要...













    十六进制转八进制

    问题描述

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

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

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

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

    样例输入
      2
      39
      123ABC

    样例输出
      71
      4435274

       提示
      先将十六进制数转换成某进制数,再由某进制数转换成八进制。
    #include <string>
    #include <stdio.h>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int main() {
    	int n;
    	scanf("%d", &n);
    	while(n--) {
    		string str1, str2 = "";
    		cin >> str1;
    		for(int i = 0; i < str1.length(); i++) {
    			switch(str1[i]) {
    				case '0': str2 += "0000";break;
    				case '1': str2 += "0001";break;
    				case '2': str2 += "0010";break;
    				case '3': str2 += "0011";break;
    				case '4': str2 += "0100";break;
    				case '5': str2 += "0101";break;
    				case '6': str2 += "0110";break;
    				case '7': str2 += "0111";break;
    				case '8': str2 += "1000";break;
    				case '9': str2 += "1001";break;
    				case 'A': str2 += "1010";break;
    				case 'B': str2 += "1011";break;
    				case 'C': str2 += "1100";break;
    				case 'D': str2 += "1101";break;
    				case 'E': str2 += "1110";break;
    				case 'F': str2 += "1111";break;
    				default: break;
    			}
    		}
    		int m = str2.length();
    		if(m%3 == 1) 
    			str2 = "00" + str2;
    		else if(m%3 == 2) 
    			str2 = "0" + str2;
    		int flag = 0;
    		//cout << str2 <<endl;
    		for(int i = 0; i <= str2.length()-3; i+=3) {
    			m = 2*2*(str2[i]-'0') + 2*(str2[i+1]-'0') + 1*(str2[i+2]-'0');
    			if(m) flag = 1;
    			if(flag) cout<<m;
    		}
    		puts("");
    	}
    	return 0;
    }

    十六进制转十进制

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

    #include <string>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    #define LL long long
    LL Pow_mod(LL a, LL b) { // a^b
    	LL ret = 1;
    	while(b != 0) {
    		if(b%2 == 1) 
    		ret *= a;
    		a *= a;
    		b /= 2;
    	}
    	return ret;
    }
    int main() {
    	string str1;
    	cin >> str1;
    	LL sum = 0;
    	int n = 0;
    	for(int i = str1.length()-1; i >= 0; i--) {
    		if(str1[i] >= '0' && str1[i] <= '9') {
    			sum += (str1[i]-'0')*Pow_mod(16, n);
    		}
    		else sum += (str1[i]-'A'+10)*Pow_mod(16, n);
    		n++;
    	}
    	cout << sum << endl;
    	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

    #include <stdio.h>
    char c[17] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int main() {
    	int p = 0;
    	long long n;
    	int ans[1005];
    	scanf("%lld", &n);
    	if(!n) puts("0");
    	else
    	while(n) {
    		ans[p++] = n%16;
    		n /= 16;
    	}
    	for(int i = p-1; i >= 0; i--) {
    		printf("%c", c[ans[i]]);
    	}
    	return 0;
    }

    展开全文
  • 十六进制转八进制 问题描述 给定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。

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

    十六进制转十进制  

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

    import java.util.Scanner;
    
    public class Main {
    	private static void transform(){
    		Scanner scanner = new Scanner(System.in);
    		String num = scanner.nextLine();
    		String arr = null;
    		if( num.length() <= 8){
    			arr = Long.valueOf(num, 16).toString();
    		}
             System.out.println(arr);		
    	}
       public static void main(String[] args) {
    	   transform();
       }
    }


    十进制转十六进制 
    问题描述
      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有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
    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class Main {
      public static void main(String[] args) {
    	Scanner scanner = new Scanner(System.in);
    	String num = scanner.nextLine();
    	
    	BigInteger step = new BigInteger(num);
    	
    	System.out.println(step.toString(16).toUpperCase());
    }
    }

    十六进制转八进制loading。。。。。。。。。。。。。。//TODO



    展开全文
  • 1.十六进制转八进制 见例题: 问题描述  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1&lt;=n&lt;=10)。  接下来n行,每行一个由09、大写字母AF组成的字符...

    1.十六进制转八进制

    见例题:
    问题描述
      给定n个十六进制正整数,输出它们对应的八进制数。

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

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

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

    样例输入
      2
      39
      123ABC

    样例输出
      71
      4435274

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

    分析:多少了解点进制之间转换的朋友都知道 要用二进制作为中间值替换,即:先把十六进制转成二进制,每位十六进制正好转成4位二进制,然后再将二进制转成八进制,每三个二进制转成一个八进制。

    那么用c++中的string类型或者java中的String类就更加的方便了,我本人对c++不是很熟,只自学了些基本的头文件和输入输出,大家可以看看这个链接:https://www.cnblogs.com/c1299401227/p/5370685.html

    题解:
    方法一:
    适合数字比较小的情况下(显然就不适合这道题,所以我错了):
    16进制:%x,8进制:%o

    #include<stdio.h>
    #define ll long long
    int main(){
    	int T,num;
    	scanf("%d",&T);
    	while(T--){
    		scanf("%x",&num);
    		printf("%o\n",num);
    	}
    	return 0;
    }
    

    方法二:
    就是c++的string类型了:
    转自:https://blog.csdn.net/qq_37962204/article/details/78628508

    #include<string>
    #include<cstdio>
    #include<cmath>
    #include<iostream>
    using namespace std;
    int main(){
    	int n;
    	string s1,s2;
    	cin >> n;
    	while(n--){
    		cin >> s1;
    		s2 = "";
    		for(int i = 0;i<s1.length();i++){
    			switch(s1[i]){
    			case '0':s2 += "0000";break;
    			case '1':s2 += "0001";break;
    			case '2':s2 += "0010";break;
    			case '3':s2 += "0011";break;
    			case '4':s2 += "0100";break;
    			case '5':s2 += "0101";break;
    			case '6':s2 += "0110";break;
    			case '7':s2 += "0111";break;
    			case '8':s2 += "1000";break;
    			case '9':s2 += "1001";break;
    			case 'A':s2 += "1010";break;
    			case 'B':s2 += "1011";break;
    			case 'C':s2 += "1100";break;
    			case 'D':s2 += "1101";break;
    			case 'E':s2 += "1110";break;
    			case 'F':s2 += "1111";break;
    			default:break;
    			}	 
    		}
    		//补成3的位数 
    		if(s2.length()%3 == 1)      
    			s2 = "00" + s2;
    		if(s2.length()%3 == 2)
    			s2 = "0" +s2;
    		int sum = 0; 
    		int flag = 0;   //flag的作用就是防止最后输出前导零 
    		for(int j = 0;j<s2.length()-2;j +=3){ //-2
    			//sum += 4*(s2[j+2]-'0') + 2*(s2[j+1]-'0') + (s2[j]-'0');
    			sum = 4*(s2[j]-'0') + 2*(s2[j+1]-'0') + (s2[j+2]-'0');
    			if(sum)
    				flag = 1;
    			if(flag)
    				cout << sum;
    		}
    		cout << endl;
    	}
    	return 0;
    }
    
    

    2.十六进制转十进制

    法一:

    #include<stdio.h>
    typedef long long ll ;
    int main(){
    	int num;
    	scanf("%x",&num);
    	printf("%lld\n",num);
    	return 0;
    }
    

    法二:转自:https://blog.csdn.net/zhangjianjun521/article/details/79081435
    建议进入链接看完整

    #include <stdio.h>
    #include <string.h>
     
    /* 十六进制数转换为十进制数 */
    long hexToDec(char *source);
     
    /* 返回ch字符在sign数组中的序号 */
    int getIndexOfSigns(char ch);
     
    int main()
    {
        char *hex = "75BCD15";
     
        printf("16进制数:\t%s\n", hex);
        printf("10进制数:\t%ld\n", hexToDec(hex));
     
        return 0;
    }
     
    /* 十六进制数转换为十进制数 */
    long hexToDec(char *source)
    {
        long sum = 0;
        long t = 1;
        int i, len;
     
        len = strlen(source);
        for(i=len-1; i>=0; i--)
        {
            sum += t * getIndexOfSigns(*(source + i));
            t *= 16;
        }  
     
        return sum;
    }
     
    /* 返回ch字符在sign数组中的序号 */
    int getIndexOfSigns(char ch)
    {
        if(ch >= '0' && ch <= '9')
        {
            return ch - '0';
        }
        if(ch >= 'A' && ch <='F') 
        {
            return ch - 'A' + 10;
        }
        if(ch >= 'a' && ch <= 'f')
        {
            return ch - 'a' + 10;
        }
        return -1;
    }
    
    
    展开全文
  • 十六进制转十进制

    2017-04-25 11:14:51
    十六进制转十进制c++程序
  • 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 问题描述 十六...
  • 十六进制转十进制 总时间限制:1000ms内存限制:65536kB 描述将十六进制数转换成十进制数 输入第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为...
  • 10.基础练习 十进制转十六进制 /*问题描述十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,...
  • //题目:八进制转换为十进制 #include<stdio.h> #include<math.h> int main() { int i=0,n,tmp,sum=0; scanf("%d",&n); while(n) { tmp=n%10; n=n/10; sum+=tmp*pow(8,i); i++;...
  • 十六进制转成十进制字符串显示

    千次阅读 2013-10-14 09:59:19
    2.再将十六进制字符串通过 “ ChangeNum ” 函数转成十进制数;   3.最后通过gcvt函数再将十进制转成字符串 //ADC Value Display CString ADCVal,Temp; //接收数据转换成十六进制buffer ch
  • java实现十六进制转十进制

    万次阅读 2019-06-16 22:29:59
    写了两种十六进制转十进制的方式,仅供参考。 基本思路:用十六进制中每一位数乘以对应的权值,再求和就是对应的十进制 方法一: /** * @param: [content] * @return: int * @description: 十六进制转十进制 */ ...
  • 以下程序的输出结果是 main(){ int a=20; printf("%d,%o,%x\n",a,a,a);...1.题目给出了 a=20这个十进制现在我们需要用十进制转八进制,这里我们采用的就是直接除8取余的方法 2.同理对于10进制16进制我们也是...
  • 满意答案xz00842015.01.10采纳率:58%等级:8已帮助:910人#include #include #include int main(){char strHex[8];int i = 0, len = 0, temp = 0;__int64 nDec = 0;gets(strHex);len = strlen(strHex);...
  • C语言中十六进制转十进制两种实现方法C语言 · 十六进制转十进制问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、...
  • 本文概述什么是十六进制十六进制是一种位置系统,以16为基数表示十六个不同的符号中的数字。这些不同的符号,即“ 0-9”代表从零到九的值,而“ A-F”代表从五的值。什么是二进制?二进制数是一个以2为底的...
  • 在java中如何将十六进制转成十进制, 问题补充: 我想我知道了, Integer.ValueOf("FEFE",16); 有些现成的办法,看楼主要达到的目的具体是什么。例如如果只是有字符串里面是十六进制的数字,要解析整型数据...
  • 十六进制转十进制VC程序

    热门讨论 2010-11-18 10:18:33
    自己写的小程序,把十六进制字符串(文本文件)转换成十进制格式,希望对大家小有帮助!
  •  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式  输入一行,包含一个正整数n。 输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例...
  • 基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。...
  • 程序可实现十进制转换二进制和十六进制程序可实现十进制转换二进制和十六进制程序可实现十进制转换二进制和十六进制
  • 程序主要是将十进制转十六进制函数(包括正负整数及小数),并根据设置显示大小端。输入参数说明:x表示十进制数,N表示最后转换十六进制数的位数(字节数),flag表示大小端(1是小端,2是大端)
  • 这个时候就需要把十六进制转换成十进制 利用Win10自带的计算器把十六进制转换成十进制: 首先在Win10的底部搜索框中输入“calc”或者中文“计算器”都可以找到Win10自带的计算器应用程序 .
  • 友情提示:此篇文章大约需要阅读 2分钟23秒,不足之处请多指教,感谢...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。给出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,784
精华内容 39,913
关键字:

十六进制转成十进制的程序