精华内容
下载资源
问答
  • [编程题] 进制转换3/3 [编程题] 进制转换时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )输入描述:输入一个十六...

    [编程题] 进制转换

    3/3 [编程题] 进制转换

    时间限制:C/C++ 1秒,其他语言2秒

    空间限制:C/C++ 32M,其他语言64M

    写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )

    输入描述:

    输入一个十六进制的数值字符串。

    输出描述:

    输出该数值的十进制字符串。

    输入例子1:

    0xA

    输出例子1:

    10

    个人方法

    16进制 --> 10进制 思路: 比如:0x209

    去掉 “ox”就剩下 209 (三位数:个-9、十-0、百-2)

    10进制数 = 2 × 16^2 + 0 × 16^1 + 9 × 16^0 = 521

    python :

    # !/usr/bin/env python2

    # -*- coding:utf-8 -*-

    '''

    Created on 2020年03月04日

    @author: oucbl

    '''

    # # 10进制转16进制

    # def dec2hex(dnum):

    # hexNum = [] # 16进制字符串(逆序/栈)

    #

    # while dnum >= 0:

    # mod16 = dnum % 16

    # hexNum.append(str(HEX16[mod16]))

    # dnum /= 16

    #

    # if dnum == 0 :

    # break

    #

    # hexNum = '0x' + ''.join([c for c in hexNum[::-1]])

    # return hexNum

    # 16进制转10进制

    def hex2dec(hnum):

    decnum = 0 # 10进制数

    hnum = hnum[2:] # 去掉前2位标识符

    lenth = len(hnum) # 16进制数的长度

    for i in range(lenth):

    bNum = lenth - i -1 # 位数

    weight = 16 ** bNum # 权值

    bValue = HEX16.index(hnum[i]) # 位值

    decnum += weight * bValue

    return decnum

    if __name__ == '__main__':

    HEX16 = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',

    'A', 'B', 'C', 'D', 'E', 'F'] # 十六进制 与 十进制 对照表

    try:

    while True:

    N = raw_input() # python2接收 非数字 字符

    if str(N) == '' :

    break

    print hex2dec(N) # 16进制转10进制

    except:

    pass

    c++:

    /*************************************************

    Author: oucbl

    Date: 2020.03.05

    **************************************************/

    #include

    #include

    using namespace std;

    int charIndex(char c) // 查找数组元素位置

    {

    string HEX16 = "0123456789ABCDEF"; // 十六进制 与 十进制 对照表

    int idx = 0; // 元素位置

    for(int j=0; j < 16; j++)

    {

    if(c == HEX16[j])

    {

    idx = j;

    break;

    }

    }

    return idx;

    }

    long hex2dec(string hex_str) // 16进制转10进制

    {

    long decnum = 0; // 10进制数

    int len = hex_str.length(); // (16进制)字符数组长度

    for(int j=2; j < len; j++) // 从第2个元素 开始 遍历

    {

    int bNum = len - j -1; // 位数

    long weight = pow(16, bNum); // 权值

    int bValue = charIndex(hex_str[j]); // 位值

    decnum += weight * bValue;

    }

    return decnum;

    }

    int main()

    {

    string hex;

    // cin获取整行,空行结束循环

    while(getline(cin, hex))

    {

    if(hex.length() == 0)

    break;

    cout<

    }

    return 0;

    }

    优秀解析

    1. 内置转换(python)

    while True:

    try:

    print(int(input(),16))

    except:

    break

    2. 内置转换(c++)

    #include

    using namespace std;

    int main()

    {

    int a;

    while ((cin >> hex >> a)){

    cout << a << endl;

    }

    return 0;

    }

    /*

    * C++输出16进制是cout << hex << a;

    * 8进制是cout << oct << a;

    */

    3. 内置转换(c)

    #include

    int main() {

    int a;

    while(scanf("%x",&a) != EOF)

    printf("%d\n",a);

    return 0;

    }

    4. 内置转换(java)

    /*

    直接调用Java的decode方法.

    该方法的作用是将 String 解码为 Integer。接受十进制、十六进制和八进制数字。

    根据要解码的 String(mn)的形式转成不同进制的数字。 mn由三部分组成:符号、基数说明符和字符序列。 -0X123中-是符号位,0X是基数说明符(0表示八进制,0x,0X,#表示十六进制,什么都不写则表示十进制),123是数字字符序列。

    */

    import java.util.Scanner;

    public class Main {

    public static void main(String[] args) throws Exception{

    Scanner sc=new Scanner(System.in);

    while (sc.hasNext()){

    String str=sc.next();

    System.out.println(Integer.decode(str));

    }

    }

    }

    展开全文
  • 题目:进制转换时间限制(普通/Java):1000 MS/3000 MS 执行内存限制 : 65536 KByte总提交 : 1819 測试通过 : 525题目描写叙述将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。输入多行。第一行指出下面一共同...

    题目:

    进制转换

    时间限制(普通/Java) : 1000 MS/ 3000 MS          执行内存限制 : 65536 KByte
    总提交 : 1819            測试通过 : 525 

    题目描写叙述

    将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。



    输入

    多行。第一行指出下面一共同拥有多少组数据。兴许每行包括两个整数N和R。以空格分隔。-100000≤N≤100000。2≤R≤16。R≠10。

    输出

    多行。每行给出转换后的R进制数。

    例子输入

    3
    7 2
    23 12
    -4 3

    例子输出

    111
    1B
    -11

    提示

     

    题目来源

    GUOJ



    题目分析:

                 简单题。利用itoa将十进制转换成随意进制。



    代码例如以下:

    /*
     * a.cpp
     *
     *  Created on: 2015年3月31日
     *      Author: Administrator
     */
    
    
    
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    
    using namespace std;
    const int maxn = 32;
    char numbers[maxn];
    
    
    void toUpper(char str[]){
    	int i = 0;
    	while(str[i] != '\0'){
    		if(str[i] >= 'a' && str[i] <= 'z'){
    			str[i] -= 32;
    		}
    
    		i++;
    	}
    }
    
    int main(){
    	int t;
    	scanf("%d",&t);
    	while(t--){
    		int n;
    		int base;
    		scanf("%d%d",&n,&base);
    
    		bool flag = false;
    
    		if(n < 0){
    			n = -n;
    			flag = true;
    		}
    
    		itoa(n,numbers,base);
    		toUpper(numbers);
    
    
    		if(flag == true){
    			printf("-");
    		}
    		printf("%s\n",numbers);
    	}
    
    	return 0;
    }
    





    转载于:https://www.cnblogs.com/lytwajue/p/7285976.html

    展开全文
  • 题目:进制转换时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 1819 测试通过 : 525 题目描述将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。输入多行。第一行指出以下一共...

    题目:

    进制转换

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 1819            测试通过 : 525 

    题目描述

    将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。



    输入

    多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。

    输出

    多行。每行给出转换后的R进制数。

    样例输入

    3
    7 2
    23 12
    -4 3

    样例输出

    111
    1B
    -11

    提示

     

    题目来源

    GUOJ



    题目分析:

                 简单题。利用itoa将十进制转换成任意进制。。



    代码如下:

    /*
     * a.cpp
     *
     *  Created on: 2015年3月31日
     *      Author: Administrator
     */
    
    
    
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    
    using namespace std;
    const int maxn = 32;
    char numbers[maxn];
    
    
    void toUpper(char str[]){
    	int i = 0;
    	while(str[i] != '\0'){
    		if(str[i] >= 'a' && str[i] <= 'z'){
    			str[i] -= 32;
    		}
    
    		i++;
    	}
    }
    
    int main(){
    	int t;
    	scanf("%d",&t);
    	while(t--){
    		int n;
    		int base;
    		scanf("%d%d",&n,&base);
    
    		bool flag = false;
    
    		if(n < 0){
    			n = -n;
    			flag = true;
    		}
    
    		itoa(n,numbers,base);
    		toUpper(numbers);
    
    
    		if(flag == true){
    			printf("-");
    		}
    		printf("%s\n",numbers);
    	}
    
    	return 0;
    }
    





    展开全文
  • 前段时间一直在和机器对接,涉及各种进制转换,这里记一下。 /** * 二进制字符串转数组 * @User yaokai * @param $hex * @return array */ function hexToArr($hex) { $arr = []; for ($i = 0; $i < ...

    前段时间一直在和机器对接,涉及各种进制转换,这里记一下。

    /**
     * 二进制字符串转数组
     * @User yaokai
     * @param $hex
     * @return array
     */
    function hexToArr($hex)
    {
    
        $arr = [];
        for ($i = 0; $i < strlen($hex); $i++) {
            $arr[$i] = strtoupper(bin2hex($hex[$i]));
        }
        return $arr;
    }
    
    
    /**
     * 十进制字符串转16进制(大写)
     * @User yaokai
     * @param $string
     * @return string
     */
    function strToHex($string)
    {
        $hex = "";
        for ($i = 0; $i < strlen($string); $i++)
            $hex .= dechex(ord($string[$i]));
        $hex = strtoupper($hex);
        return $hex;
    }
    
    /**
     * 十进制字符串转16进制
     * @User yaokai
     * @param $string
     * @return string
     */
    function strToXHex($string)
    {
        $hex = "";
        for ($i = 0; $i < strlen($string); $i++)
            $hex .= dechex(ord($string[$i]));
    //    $hex = strtoupper($hex);
        return $hex;
    }
    
    /**
     * 16进制转字符串
     * @User yaokai
     * @param $hex
     * @return string
     */
    function hexToStr($hex)
    {
        $string = "";
        for ($i = 0; $i < strlen($hex) - 1; $i += 2)
            $string .= chr(hexdec($hex[$i] . $hex[$i + 1]));
        return $string;
    }
    
    /**
     * 十进制转换成16进制 并指定位数用0补全
     * @User yaokai
     * @param $dec
     * @param int $num
     * @return string
     */
    function decToHex($dec, $num = 4)
    {
        $hex = (int)$dec > 15 ? dechex($dec) : '0' . dechex($dec);
        for ($i = 0; $i <= $num; $i++) {
            if (strlen($hex) < $num) {
                $hex .= 0;
            }
        }
        return $hex;
    
    }
    

    具体业务可以根据具体需要转换下

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 37 十进制转换成其它进制 作者: Turbo时间限制: 1S章节: 字符串 问题描述 : 编写一个程序,将一个十进制数转换成任意的2~20以内的其他进制数。这些数据由数字0-9,字母A-J组成,其中A=10,B=11……J=19。例如90转换...
  • 使用mongodb过程中,进场设计到objectid中的时间转换,例如根据'_id'索引查询大于某个日期的数据有多少? 这时会用到十进制的时间戳转十六进制,方法如下: # 10 ---> 16 printf "%x" `date +%s --date=...
  • 0x16进制 编辑 讨论现实生活中,我们最常见的数为十进制数,比如交通信号灯上的数字,电子表上的时间等。如果在这些地方你看到0xAA,就会感觉很奇怪。但是这样的数代表什么意思,为什么会有这样的数,它与十进制的数...
  • 0873-十进制转换为K进制函数 时间限制: 1000 毫秒 内存限制: 32768 K字节 判题规则: 严格比较 问题描述 将十进制数转换为K1) 输入 测试数据有多组第一行为测试数据的组数 然后每行一个整型数 输出 每行一个数 输入样...
  • 基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。...
  • 十进制转换成二进制的时候,如果不用计算器是一件很麻烦的事情,需要不断地除以二然后在计算结果,这是一件很浪费时间的算法,现在我就告诉你们一种最简洁的算法;例1:把十进制133转换成二进制;先计算133由多少个2...
  • 今天一场技术笔试一道编程题难住了我,算出一个十进制数的二进制补码和对应的16进制,由于时间紧张,加上紧张,做的极差,因此mark以下
  • 将十六进制数转换十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前没有多余的0 输出 输出共T行,每一行是一组数据...
  • 问题 A: 进制转换 时间限制:1 Sec内存限制:128 MB提交:67解决:28[提交][状态][讨论版] 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入 输入数据共有三行,第一行是一个正整数,表示需要转换的数...
  • 用汇编实现2进制到16进制 2进制到10进制转换并按要求输出起因题目要求题目样例实现代码验证结果最后 起因 我因为上课摸鱼,所以当时没学习的时间现在都要补回来。 三天,大概花了15个小时写完了七道题,到处求助大佬...
  • 基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB ...十六进制的计数方法是满16进1,所以十进制16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的...
  • 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(210)。 Output 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的...
  • 蓝桥杯基础练习16进制转换成8进制

    千次阅读 2017-12-30 14:36:06
    基础练习 十六进制转十进制 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C...
  • 进制转换

    2018-04-14 23:43:00
    进制转换时间限制:1秒 空间限制:32768K题目描述给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。输出描述:为每个测试实例...
  • 一、[题目] 进制转换1 (十六进制转换) 时间限制:1.0s  内存限制:512.0MB 问题描述   十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别...
  • 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 Output 为每个测试实例输出转换后的数,每个输出占一行。...
  • 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。 知识点 字符串,循环,函数,指针 运行时间限制 10M 内存限制 128 输入 输入一个十六进制的数值字符串。 输出 输出...
  • 二周进制转换

    2016-11-29 16:48:45
    文件名称: 进制转换 作 者:展一 完成时间:2016年11月17日 题目描述 输入一个十进制数N,将它转换成R进制数输出。 输入 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(210)。 输出 为每...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 429
精华内容 171
关键字:

十进制转换时间16进制