精华内容
下载资源
问答
  • 蓝桥杯基础练习-进制转换(十六进制转八进制+十六进制转... 接下来n行,每行一个由0~9、大写字母A~F组成字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式  输出n行,每行为输入对

    蓝桥杯基础练习-进制转换(十六进制转八进制+十六进制转十进制+十进制转十六进制)
    一、十六进制转八进制

    试题 基础练习 十六进制转八进制 
    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      给定n个十六进制正整数,输出它们对应的八进制数。
    
    输入格式
      输入的第一行为一个正整数n (1<=n<=10)。
      接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
    
    输出格式
      输出n行,每行为输入对应的八进制正整数。
    
      【注意】
      输入的十六进制数不会有前导0,比如012A。
      输出的八进制数也不能有前导0。
    
    样例输入
      2
      39
      123ABC
    
    样例输出
      71
      4435274
    
      【提示】
      先将十六进制数转换成某进制数,再由某进制数转换成八进制。
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    string a[16]={"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};
    string tran(char x)
    {
        string cnt="";
        switch (x)
        {
            case '0':cnt+=a[0];break;
            case '1':cnt+=a[1];break;
            case '2':cnt+=a[2];break;
            case '3':cnt+=a[3];break;
            case '4':cnt+=a[4];break;
            case '5':cnt+=a[5];break;
            case '6':cnt+=a[6];break;
            case '7':cnt+=a[7];break;
            case '8':cnt+=a[8];break;
            case '9':cnt+=a[9];break;
            case 'A':cnt+=a[10];break;
            case 'B':cnt+=a[11];break;
            case 'C':cnt+=a[12];break;
            case 'D':cnt+=a[13];break;
            case 'E':cnt+=a[14];break;
            case 'F':cnt+=a[15];break;
            default:break;
        }
        return cnt;
    }
    int main(){
        int n;
        cin>>n;
        string str[11];
        for(int i=0;i<n;i++)
        {
            cin>>str[i];
            string ans=""; //存放二进制字符串
            int len=str[i].length();
            for(int j=0;j<len;j++)
            {
                ans+=tran(str[i][j]);
            }
            int len2=ans.length();
            if(len2%3==1)
            {
                ans="00"+ans;
            }
            else if(len2%3==2)
            {
                ans="0"+ans;
            }
            len2=ans.length();
            string cnt=""; //存放八进制字符串
            for(int j=0;j<len2;j+=3)
            {
                int k=(ans[j]-'0')*pow(2,2)+(ans[j+1]-'0')*pow(2,1)+(ans[j+2]-'0')*pow(2,0);
                cnt+=(k+'0');
            }
            cnt.erase(0,cnt.find_first_not_of('0'));
            cout<<cnt<<endl;
        }
     system("pause");
     return 0;
    }
    
    

    二、十六进制转十进制

    试题 基础练习 十六进制转十进制  
    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    int tran(char x)
    {
        int ans=0;
        switch(x)
        {
            case '0':ans=0;break;
            case '1':ans=1;break;
            case '2':ans=2;break;
            case '3':ans=3;break;
            case '4':ans=4;break;
            case '5':ans=5;break;
            case '6':ans=6;break;
            case '7':ans=7;break;
            case '8':ans=8;break;
            case '9':ans=9;break;
            case 'A':ans=10;break;
            case 'B':ans=11;break;
            case 'C':ans=12;break;
            case 'D':ans=13;break;
            case 'E':ans=14;break;
            case 'F':ans=15;break;
        }
        return ans;
    }
    int main(){
        string str;
        int a[100]={0};
        cin>>str;
        int len=str.length();
        long long int sum=0;
        for(int i=len-1;i>=0;i--)
        {
            sum+=tran(str[i])*pow(16,len-i-1);
        }
        cout<<sum<<endl;
        system("pause");
        return 0;
    }
    
    

    三、十进制转十六进制

    试题 基础练习 十进制转十六进制
    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的015。十六进制的计数方法是满161,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入
    30
    样例输出
    1E
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int main(){
        long long int n;
        cin>>n;
        long long int t=abs(n);
        string str="";
        if(t==0)
        {
            cout<<"0"<<endl;return 0;
        }
        while(t!=0)
        {
            int k=t%16;
            str=a[k]+str;
            t/=16;
        }
        cout<<str<<endl;
        //system("pause");
        return 0;
    }
    
    
    展开全文
  •  接下来n行,每行一个由0~9、大写字母A~F组成字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应八进制正整数。 【注意】 输入的十六进制数不会有前导...













    十六进制转八进制

    问题描述

      给定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个十六进制正整数,输出它们...输入的十六进制数不会有前导0,比如012A。 输出八进制数也不能有前导0。 样例输入 2 39 123ABC 样例输出 71 4435274 【提示】 先将十六进制数转换成某

    十六进制转八进制

    问题描述

    给定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。

    展开全文
  • 二进制十六进制十进制转换 将十六进制数转换为十进制数,并将十进制数转换为十六进制数 这是一个非常简单脚本,可将十进制数字转换为十六进制值,并将十六进制值转换为十进制数字。 此示例后面示例演示了如何将...

    二进制十六进制十进制转换

    将十六进制数转换为十进制数,并将十进制数转换为十六进制数

    这是一个非常简单的脚本,可将十进制数字转换为十六进制值,并将十六进制值转换为十进制数字。 此示例后面的示例演示了如何将十进制数转换为二进制值。

    十六进制数字是一个字符串,其中包含介于0到9之间的数字和字符AF; 其中A = 10,B = 11,...,F =15。(有关更多信息,请查询(google)十六进制数字。)

    考虑到这一点,很明显,您需要调用Number对象的

    toString()方法 ,以便将Number转换为十六进制值。 当您调用toString()方法时,只需将其作为参数传递16,它将以基数16(十六进制)显示数字。

    要将十六进制数字转换为十进制数字,可以使用

    parseInt()方法 您通过此方法将包含十六进制值的字符串作为第一个参数,将16作为第二个参数,以指示该字符串是一个以16为底的数字。 这将返回一个数字对象,该对象是等于十六进制值的十进制(以10为底)。
    
    <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head></head>
      <body>
        <script type="text/javascript">
          function ConvertToHex(){
            var numberValue = document.getElementById('NumberInput').value;
            var decNumber = Number(numberValue);
            var hexNumber = decNumber.toString(16).toUpperCase(); 
            document.getElementById('Result').value = hexNumber;
          }
          function ConvertToDec(){
            var hexNumber = document.getElementById('NumberInput').value;
            var decNumber = parseInt(hexNumber,16);
            document.getElementById('Result').value = decNumber;
          }
        </script> 
        <div style="text-align:center">
          Number: <input type="text" id="NumberInput"></input>
          Result: <input type="text" id="Result"></input>
          <br/>
          <button onclick="ConvertToHex();">Convert To Hex</button>
          <button onclick="ConvertToDec();">Convert To Decimal</button>
          <br />
        </div>
      </body>
    </html>
    将二进制数转换为十进制数,并将十进制数转换为二进制数

    此技术可用于将数字转换为所需的任意基数! 例如,如果要将十进制数转换为二进制,则只需使用2而不是16:

    
    <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head></head>
      <body>
        <script type="text/javascript">
          function ConvertToBinary(){
            var numberValue = document.getElementById('NumberInput').value;
            var decNumber = Number(numberValue);
            var binaryNumber = decNumber.toString(2).toUpperCase(); 
            document.getElementById('Result').value = binaryNumber;
          }
          function ConvertToDec(){
            var binaryNumber = document.getElementById('NumberInput').value;
            var decNumber = parseInt(binaryNumber, 2);
            document.getElementById('Result').value = decNumber;
          }
        </script> 
        <div style="text-align:center">
          Number: <input type="text" id="NumberInput"></input>
          Result: <input type="text" id="Result"></input>
          <br/>
          <button onclick="ConvertToBinary();">Convert To Binary</button>
          <button onclick="ConvertToDec();">Convert To Decimal</button>
          <br />
        </div>
      </body>
    </html>
    编码愉快!

    -弗林尼

    翻译自: https://bytes.com/topic/javascript/insights/867841-converting-hex-binary-decimal-decimal-hex-binary-javascript-example

    二进制十六进制十进制转换

    展开全文
  • 10:十进制转十六进制 ...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形...
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。 输入格式 输入包含一个...
  •  注:十六进制数中10~15分别用大写英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535 import java.util.Scanner; public class Main { private static void transform(){ Scanner
  •  给出一个非负整数,将它表示成十六进制的形式。 输入格式  输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647 输出格式  输出这个整数的16进制表示 样例输入 30 样例输出 1E 做十六进制转十进制...
  • 十六进制的意义何在?   编程中,我们常用的还是10进制.毕竟C/C++是高级语言。 比如:int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更...
  • 十六进制的定义16进制即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15。故而有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16...
  • 十六进制数是一种逢十六进一计数体制,基数是16,用09,AF表示,如0xFF或0XFF。 十六进制数以数字0和字母x组合0x或0X开头。其中字母x是不区分大小写,即0x与0X等价。 Note: 输出打印八进制数时 %o 这里是字母...
  • 在Java中字节与十六进制的相互转换主要思想有两点:1、二进制字节转十六进制时,将字节高位与0xF0做"&"操作,然后再左移4位,得到字节高位的十六进制A;将字节低位与0x0F做"&"操作,得到低位的十六进制B,将两...
  • 全国计算机一级MS-OFFICE考试高校CCT一级考试 - 考点课程考点7-十六进制数视频策划:叶老师ID:CCT_100本章重点内容:十六进制基本原理和计算方法十六进制数转换成十进制数十六进制数转换成二进制数二进制数转换...
  • 十六进制中所有字母(a-f)都必须是小写。2. 十六进制字符串中不能包含多余前导零。如果要转化数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中第一个字符将不会是0字符。3. 给定数确保在32...
  • 在学习计算机编程和原理等课程时,常用十六进制来表示数,十六进制数和二进制数之间互相转换简单而且自然,十六进制使用下面符号表示数(A是10、F是15):0 1 2 3 4 5 6 7 8 9 A B C D E F16进制数转十进制数(3...
  • java十六进制转十进制(2017-02-02 20:58:58)标签:it...注:十六进制数中10~15分别用大写英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535package lanqiao; import java.io.BufferedReader; imp...
  • 在学习计算机编程和原理等课程时,常用十六进制来表示数,十六进制数和二进制数之间互相转换简单而且自然,十六进制使用下面符号表示数(A是10、F是15):0 1 2 3 4 5 6 7 8 9 A B C D E F16进制数转十进制数(3...
  • 基础练习 十六进制转十...注:十六进制数中10~15分别用大写英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535太奇葩了,拿到这道题受上道题影响,自己写了进制转化函数,结果,25分。。。。imp...
  • 展开全部#include#defineA999void...printf("1:十六进制加法\n");printf("2:十六进制减法\n");printf("3:十六进制乘法\n");printf("4:十六进制除法\n");printf("5:十六进制求余\n");printf("6:结束程序\n");printf(...
  • 十进制转十六进制 除16取余数得最低1位,然后把商继续除得第2位,直到商等于0 4516进制为 45/16 余数 13(D) 商 2 2/16 余数为 2 A(10) B(11) C(12) D(13) E(14) F(15) 除数小于被除数,余数是自己本身 十六...
  • 而IPv6地址是128位,是由数字和A-F组成的十六进制系统。因此,了解并且学会在其三者之间相互转换是非常重要,让我们能够更好了解它们。二进制数制系统IPv4地址以二进制开头,仅包含0和1。主机,服务器和网络...
  • 10.基础练习 十进制转十六...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。给出一个非负整数,将它表示成十六进制的形式...
  • 十六进制转换为二进制很简单,我们首先要明白,一位十六进制代表四位二进制,如F对应二进制的1111,A代表二进制的1010,利用这种一一对应的关系,很容易就把十六进制转换为二进制,如0x1F6C,其中十六进制1对应二...
  • 接下来n行,每行一个由0~9、大写字母A~F组成字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式输出n行,每行为输入对应八进制正整数。注意输入的十六进制数不会有前...
  • 十六进制转十进制 19007/16商1187余15(F) 1187/16商74余3 74/16商4余10(A) 4/16商0余4 所以是4A3F 十六进制表示是0x4A3F
  • 基础练习 十六进制转十进制 时间限制:1.0s 内存限制:512.0MB ... 注:十六进制数中10~15分别用大写英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 #include<bits/stdc++.h>...
  • BCD码(Binary-Coded Decimal‎)...BCD码不能使用十六进制的A~F(2#1010~2#1111)这6个数字。BCD码本质上是十进制数,因此相邻两位逢十进一。BCD码的最高位二进制数是符号位,负数的符号位为1,正数为0。16位BCD码的范...
  • 十六进制的意义何在?   编程中,我们常用的还是10进制.毕竟C/C++是高级语言。 比如:int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,622
精华内容 3,848
关键字:

十六进制的a