HJ5 进制转换

目录

问题描述

输入描述:

输出描述:

示例

解释

思路

代码实现

问题描述

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

输入描述:

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

输出描述:

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

示例

输入:0xAA

输出:170

解释

十六进制(Hexadecimal)是一种逢16进1的进位计数制,以0x开头,使用16个符号来表示数值。这些符号包括0到9的阿拉伯数字和A到F的字母(其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15)。

十六进制转十进制

确定每位的权重

第0位的权重是 16^0=1。

第1位的权重是 16^1=16。

第2位的权重是 16^2=256。

依此类推,第n位的权重是 16^n

将上述步骤中计算得到的所有位的数值相加,得到的总和即为该十六进制数对应的十进制数值。

示例计算:10 * 16^1 + 10 * 16 ^ 0 =  170

思路

通过一个Map集合,将0到F作为key存入,value为对应的十进制数

通过循环,拿到输入的字符,取出十进制的数,进行十六进制转十进制的运算

代码实现

 public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) { // 注意 while 处理多个 caseMap<Character, Integer> map = new HashMap<>();String s = in.nextLine();map.put('0', 0);map.put('1', 1);map.put('2', 2);map.put('3', 3);map.put('4', 4);map.put('5', 5);map.put('6', 6);map.put('7', 7);map.put('8', 8);map.put('9', 9);map.put('A', 10);map.put('B', 11);map.put('C', 12);map.put('D', 13);map.put('E', 14);map.put('F', 15);map.put('G', 16);int number = 0;int pow = s.length() - 3; // 幂 ,用于十六转十进制计算for (int i = 2; i < s.length(); i++) {char c = s.charAt(i);if (map.containsKey(c)) {int num = map.get(c);number += (int)(num * Math.pow(16, pow));pow--;}}System.out.print(number);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/781580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【IDEA】使用debug方式去运行java程序

什么是debug工具&#xff1f; 调试工具&#xff08;debug工具&#xff09;是一种用于帮助程序员识别和修复程序中的错误的工具。它们提供了一系列的功能&#xff0c;帮助程序员在代码执行的过程中跟踪和检测问题&#xff0c;例如查看变量的值、检查函数的调用栈、设置断点来停…

Spring学习——什么是循环依赖及其解决方式

文章目录 前言一、什么是循环依赖二、解决思路1、循环依赖分类2、对象初始化步骤及对象分类3、spring是如何解决的4、图解5、三级缓存1、区别2、ObjectFactory是什么 三、源码debug1、spring创建对象过程1、dubug第一步——找到getBean2、dubug第二步——getBean与doGetBean3、…

腾讯 tendis 替代 redis linux安装使用

下载地址 Tendis存储版 点击下载 linux 解压 tar -zxvf 安装包.tgz cd 解压安装包/scripts 启动 ./start.sh 停止 ./stop.sh 详细配置 修改 /scripts tendisplus.conf # tendisplus configuration for testing # 绑定本机IIP bind 192.168.31.112 port 51002 #设…

MySQL的安装配置 及 MySQL配置,服务管理,基本使用,性能优化,安全性,监控与日志管理,扩展与高可用,备份与恢复,版本升级与迁移注意事项

MySQL的安装配置可以分为几个主要步骤&#xff0c;包括安装MySQL、验证安装是否成功、配置环境变量以及进行MySQL的配置。以下是详细的教程&#xff1a; 一、安装MySQL 首先&#xff0c;从MySQL官网下载MySQL安装包。进入官网后&#xff0c;找到“DOWNLOADS”部分&#xff0c…

海格里斯助推实体制造业转型升级 “算法定义硬件”解题AIoT市场

随着自动化的发展&#xff0c;电子商务和智能制造推动了自动化立体仓库的快速发展与创新&#xff0c;产生了“密集仓储”的概念。对于一个实体企业来讲&#xff0c;其数智物流转型正在趋向于“去伪存真”&#xff0c;企业追求高ROI与真实经济价值&#xff0c;具有降本增效的业务…

代码随想录算法训练营第三十三天|leetcode70、509、746题

一、leetcode第509题 本题要求斐波那契数列的通式&#xff0c;通过定义dp数组&#xff0c;确定dp[i]dp[i-1]dp[i-2]的递推式&#xff0c;从而确定dp数组的含义为第i个数的大小。 具体代码如下&#xff1a; class Solution { public:int fib(int n) {if(n0){return 0;}if(n1)…

JavaEE 初阶篇-深入了解多线程安全问题(出现线程不安全的原因与解决线程不安全的方法)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 多线程安全问题概述 1.1 线程不安全的实际例子 2.0 出现线程不安全的原因 2.1 线程在系统中是随机调度且抢占式执行的模式 2.2 多个线程同时修改同一个变量 2.3 线…

游戏行业行业竞争越来越激烈,遇到DDoS攻击遭受严重损失该如何解决

近年来&#xff0c;我们见证了数字化的快速发展&#xff0c;随着这样的发展&#xff0c;网络的威胁也逐渐增多&#xff0c;在网络攻击门槛不断降低&#xff0c;行业竞争越来越激烈&#xff0c;游戏行业的DDoS攻击如雨点般密集&#xff0c;在整个DDoS攻击的份额中&#xff0c;游…

SpringAMQP-Exchange交换机

1、Fanout-Exchange的特点是&#xff1a;和它绑定的消费者都会收到信息 交换机的作用是什么? 接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息&#xff0c;路由失败&#xff0c;消息丢失FanoutExchange的会将消息路由到每个绑定的队列 声明队列、交…

【实验报告】--基础VLAN

【VLAN实验报告】 一、项目背景 &#xff08;为 Jan16 公司创建部门 VLAN&#xff09; Jan16 公司现有财务部、技术部和业务部&#xff0c;出于数据安全的考虑&#xff0c;各部门的计算机需进 行隔离&#xff0c;仅允许部门内部相互通信。公司拓扑如图 1 所示&#xff0c; …

http和https的工作原理是什么?

HTTP&#xff08;HyperText Transfer Protocol&#xff09;和HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是两种用于在互联网上传输数据的主要协议&#xff0c;它们均用于在客户端&#xff08;通常是Web浏览器&#xff09;与服务器之间交换信息。尽管它们…

自己实现求字符串长的函数(三种方法)

目录 1.运用指针和计数器来实现求字符串的长度 2.运用地址的相减来计算字符串长度 3.递归方法求字符串长度,可以做到不创建临时变量 1.运用指针和计数器来实现求字符串的长度 int my_strlen(char* str) {int count 0;while (*str ! \0){count;str;}return count; } 函数的…

.NET CORE 分布式事务(二) DTM实现TCC

目录 引言&#xff1a; 1. TCC事务模式 2. TCC组成 3. TCC执行流程 3.1 TCC正常执行流程 3.2 TCC失败回滚 4. Confirm/Cancel操作异常 5. TCC 设计原则 5.1 TCC如何做到更好的一致性 5.2 为什么只适合短事务 6. 嵌套的TCC 7. .NET CORE结合DTM实现TCC分布式事务 …

Web框架开发-Django-form组件

django 之知识点总结以及Form组件 一、model常用操作 1、13个API查询:all,filter,get ,values,values_list,distinct,order_by ,reverse , exclude(排除),count,first,last,esits(判断是否存在) 需要掌握的all、values、values_list all:打印的是一个QuerySet集合,…

访学博后须知|携带手机等电子产品入境美国注意事项

美国对携带手机等电子产品入境有着严格的规定&#xff0c;因此知识人网小编提醒拟出国做访问学者、博士后或联合培养的博士生了解以下注意事项&#xff0c;尽量减少不必要的麻烦。 随着互联网的普及&#xff0c;手机等电子产品在人民生活中占有不可或缺的地位。因为研究和工作需…

海量数据处理项目-账号微服务和流量包数据库表+索引规范(下)

海量数据处理项目-账号微服务和流量包数据库表索引规范&#xff08;下&#xff09; 第2集 账号微服务和流量包数据库表索引规范讲解《下》 简介&#xff1a;账号微服务和流量包数据库表索引规范讲解 账号和流量包的关系&#xff1a;一对多traffic流量包表思考点 海量数据下每…

cuda和显卡驱动对应版本关系

NVIDIA CUDA 工具包发行说明 CUDA 工具包的发行说明。 1.CUDA 12.4 发行说明 NVIDIA CUDA 工具包的发行说明可在线找到&#xff1a;1. CUDA 12.4 Release Notes — Release Notes 12.4 documentation。 笔记 发行说明已重新组织为两个主要部分&#xff1a;常规 CUDA 发行说…

ES6 学习(二)-- 字符串/数组/对象/函数扩展

文章目录 1. 模板字符串1.1 ${} 使用1.2 字符串扩展(1) ! includes() / startsWith() / endsWith()(2) repeat() 2. 数值扩展2.1 二进制 八进制写法2.2 ! Number.isFinite() / Number.isNaN()2.3 inInteger()2.4 ! 极小常量值Number.EPSILON2.5 Math.trunc()2.6 Math.sign() 3.…

仓库规划(plan)

明天就要考试了&#xff0c;但是我正处于一点都不想学的状态 高考前我也是这样的 逆天 代码如下&#xff1a; #include<vector> #include<cstdio> using namespace std; int n, m; struct Node{int id;vector<int> d;bool operator<(const Node &t…

平台介绍-搭建赛事运营平台(8)

平台介绍-搭建赛事运营平台&#xff08;5&#xff09;提到了字典是分级的&#xff0c;本篇具体介绍实现。 平台级别的代码是存储在核心库中&#xff0c;品牌级别的代码是存储在品牌库中&#xff08;注意代码类是一样的&#xff09;。这部分底层功能封装为jar包&#xff0c;然后…