首页 > 试题广场 >

进制转换

[编程题]进制转换
  • 热度指数:970181 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于给定的十六进制数,输出其对应的十进制表示。
\hspace{15pt}在本题中,十六进制数的格式为:\texttt{0x} 开头,后跟若干个十六进制数字( \texttt{0-9}\texttt{A-F} )。其中,\texttt{A-F} 依次代表 10-15

输入描述:
\hspace{15pt}在一行上输入一个十六进制数 s ,代表待转换的十六进制数。
\hspace{15pt}保证 s 转化得到的十进制数 x 的范围为 1 \leqq x \leqq 2^{31}-1


输出描述:
\hspace{15pt}在一行上输出一个整数,代表 s 对应的十进制数。
示例1

输入

0xFA93

输出

64147

说明

\hspace{15pt}回忆十六进制转化为十进制的方法:从右往左,将第 i 位乘以 {\color{orange}{16^i}} ,然后求和。

\hspace{15pt}在这个样例中,\texttt{0xFA93} 的第 0 位是 \texttt{3} ,第 1 位是 \texttt{9} ,第 2 位是 \texttt{A} ,第 3 位是 \texttt{F} ,因此 \texttt{0xFA93} = 3 \times {\color{orange}{16^0}} + 9 \times {\color{orange}{16^1}} + 10 \times {\color{orange}{16^2}} + 15 \times {\color{orange}{16^3}} = 64147
头像 恒成立
发表于 2021-04-04 19:40:44
import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws Exception{ Scanner sc = new Scanne 展开全文
头像 牛客797476880号
发表于 2021-09-21 17:56:19
''' python将16进制转为10进制可以用int('hex型',16) 八进制转十进制int('八进制型',8) 八进制或十六进制或10进制装二进制直接调用 bin(任意进制) ''' while True: try: s=input() print( 展开全文
头像 派仔
发表于 2020-08-07 09:51:20
使用Map提高查找效率 import java.util.*; public class Main { private final static int BASE = 16; private static Map<Character, Integer> map = new Ha 展开全文
头像 小陆要懂云
发表于 2021-08-15 10:38:36
#include<iostream> #include<string> using namespace std; int main(){ string str; while(cin>>str){ cout << st 展开全文
头像 不要抗拒去做自己没接触过的事
发表于 2019-08-23 15:27:56
解法1: while True: try: number = input() n = len(number) dic = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9, 展开全文
头像 枫火蓮天
发表于 2021-04-05 10:07:14
套用进制转换的公式,即第n位(从低位开始)数字乘以进制的n-1次幂,加和 import java.util.Scanner; import java.lang.Math; public class Main{     展开全文
头像 牛客324483625号
发表于 2021-06-20 21:47:27
C语言在这方面有很大优势 #include "string.h" #include "stdio.h" int main(void) { int num=0; while(scanf("%i\n",&num)!=- 展开全文
头像 saving~
发表于 2021-09-22 15:36:39
看你基础是否扎实,parInt能接受第二个参数,表示进制,然后输出会默认采用10进制,算是取巧的方式 let str; while(str = readline()){ console.log(parseInt(str,16)); }
头像 摸鱼学大师
发表于 2021-10-04 19:52:37
题目的主要信息: 将输入的十六进制数(字符串)转化成十进制的数字输出 可能同时输入多个测试字符串 方法一:遍历转换 具体做法: 对于每个输入的字符串,我们从后往前遍历,因为字符串前两位是0x,对数字没有意义,所有遍历时要去掉这两位。 遍历到每个字符时,我们将其利用ASCII转化成十进制的数——字 展开全文
头像 强大的NPC
发表于 2020-02-17 23:43:32
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); wh 展开全文