HJ5-进制转换

2023-05-16

HJ5 进制转换

描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

数据范围:保证结果在 1≤n≤2^31−1

输入描述:

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

输出描述:

输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例1

输入:

0xAA

输出:

170

解:

思路:十进制字符串以0x/0X开头,从第2位开始。

//方法一,直接API
import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws Exception{
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String s = sc.nextLine();
            //Integer.parseInt()把整形对象Integer转换成基本数据类型int(整数)
            System.out.println(Integer.parseInt(s.substring(2, s.length()), 16));
        }
    }
}
//方法二,进制转换
import java.util.*;
public class Main {
  private final static int BASE = 16;
  private static Map<Character, Integer> map = new HashMap<Character, Integer>()
  {{
      put('0', 0);
      put('1', 1);
      put('2', 2);
      put('3', 3);
      put('4', 4);
      put('5', 5);
      put('6', 6);
      put('7', 7);
      put('8', 8);
      put('9', 9);
      put('A', 10);
      put('B', 11);
      put('C', 12);
      put('D', 13);
      put('E', 14);
      put('F', 15);
      put('a', 10);
      put('b', 11);
      put('c', 12);
      put('d', 13);
      put('e', 14);
      put('f', 15);
  }};
  public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
      while (in.hasNext()) {
          String number = in.next();
          int res = getDecimal(number.substring(2));
          System.out.println(res);
      }
  }
    
  public static int getDecimal(String number) {
      int res = 0;
      //toCharArray()的用法:将字符串对象中的字符转换为一个字符数组
      for (char ch : number.toCharArray()) {
          res = res * BASE + map.get(ch);
      }
      return res;
  }

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HJ5-进制转换 的相关文章

  • HJ5 进制转换

    描述 写出一个程序 xff0c 接受一个十六进制的数 xff0c 输出该数值的十进制表示 数据范围 xff1a 保证结果在 注意本题有多组输入 输入描述 xff1a 输入一个十六进制的数值字符串 注意 xff1a 一个用例会同时有多组输入数
  • 进制转换

    二 八 十六转化为十进制 系数 xff1a 每一个位置上的数 xff0c 称为系数 基数 xff1a x进制 xff0c 基数就是x 权 xff1a 对数据系统从右往左进行编号 xff0c 并且从0开始 xff0c 每一个编号就是该系数所对
  • 数据结构实验之栈与队列一:进制转换

    数据结构实验之栈与队列一 xff1a 进制转换 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Discuss Problem Description 输入一个十进制非负
  • HJ5-进制转换

    HJ5 进制转换 描述 写出一个程序 xff0c 接受一个十六进制的数 xff0c 输出该数值的十进制表示 数据范围 xff1a 保证结果在 1 n 2 31 1 输入描述 xff1a 输入一个十六进制的数值字符串 输出描述 xff1a 输
  • Javascript进制转换

    介绍一个简单的用Javascript进行 进制 转换的方式 xff1a 将十进制转换为十六进制 xff1a var i 61 10 alert parseInt 10 10 toString 16 同样 xff0c 将十六进制转换为十进制
  • poj 1131进制转换

    POJ 1131 Octal Fractions 任意进制之间小数的转换 给定一个八进制的小数题目要求你把它转换为十进制小数 xff0c 转换后小数的位数是转换前八进制小数位数的3倍且不输出末尾无意义的零 即后置零 我采用的方法是乘10然后
  • 进制转换 输入一个数和转换的进制

    include lt bits stdc 43 43 h gt using namespace std define Max 1000 typedef struct node int data Node struct Stack int t
  • 进制转换,16进制与float互转

    include lt winsock h gt pragma comment lib 34 Ws2 32 lib 34 将一个8位数高低4位交换 static unsigned char bswap 8 unsigned char v re
  • "蓝桥杯“基础练习:十六进制转八进制

    问题描述 给定n个十六进制正整数 输出它们对应的八进制数 输入格式 输入的第一行为一个正整数n 1 lt n lt 10 接下来n行 每行一个由0 9 大写字母A F组成的字符串 表示要转换的十六进制正整数 每个十六进制数长度不超过1000
  • Basic Level 1022 D进制的A+B (20分)

    题目 输入两个非负10进制整数 A A A和 B 2 30
  • c/c++进制转换方法汇总(含全部代码)

    进制转换方法汇总表 原进制 转换进制 方法1 方法2 方法3 方法4 十进制 二进制 bitset指定格式输出 除留余数法 itoa 十进制 八进制 oct o指定格式输出 流 除留余数法 itoa 十进制 十六进制 hex x指定格式输出
  • 进制转换C语言实现(十进制转换为任意进制)

    程序实现功能 输入一个十进制数和R 表示要转换成R进制 输出转换后的数 事例 例如 输入 10 2 输出 1010 源代码如下 include
  • Leetcode168. Excel表列名称

    力扣 LeetCode 官网 全球极客挚爱的技术成长平台 题解 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 代码如下 class Solution public String convertToTitle int column
  • LeetCode 171. Excel 表列序号

    题目链接 https leetcode cn problems excel sheet column number 思路如下 类似于 26 26 26 进制转十进制 按权展开求和 C 代码如下 class Solution public i
  • Java-进制转换

    常用的进制转换 十进制转二进制 二进制转十进制 十进制转八进制 八进制转十进制 十进制转十六进制 十六进制转十进制 如果二 八 十六之间想转换可以通过十进制做中间者 import java util Scanner import java
  • c语言2进制转3进制

    保存答案的 要求二进制满足最多64位 网上的答案都不对 听同学讲用了 unsigned long long 和 运算左移 方法一 include
  • c 十进制数转十六进制

    有3种方式实现 其中两种是使用系统函数 另一种是直接自己编写 使用系统函数实现要加入 include
  • 任意进制之间的转换(C++实现)

    任意进制之间的转换 C 实现 题目描述 输入格式 第一行输入两个整数 n 和 m 2 lt n m lt 16 n 代表的是第二行输入的数的进制 m 代表的是输出的数字的进制 第二行输入一个x 如果有字母 输入大写字母 输出格式 输出一个
  • C++任意数字类型转 2进制、8进制、16进制

    C 任意数字类型转 2进制 8进制 16进制 平时我们在写程序的过程中会经常碰见进制转换的操作 偶尔写一次还好每次写 我们都又要重新定义函数进行转换 在这里博主就分享一下我自己编写的一个进制转换的方法吧 也比较通用 如没有耐心可以直接跳过思
  • PHP的进制转换与字符串的编码解码

    目录 一 进制转换函数 dechex hexdec decbin bindec base convert 二 编码解码函数 bin2hex hex2bin pack 和 unpack 三 字符串类型详解 PHP字符串 从PHP 5 2 1版

随机推荐