基础练习 十六进制转十进制(ACMORE1565)

基础练习 十六进制转十进制(ACMORE1565)题目Description从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。Input十六进制数字符串Output十进制数Sample InputFFFFSample Output65535Source蓝桥杯题目链接...
摘要由CSDN通过智能技术生成

基础练习 十六进制转十进制(ACMORE1565)

题目

Description
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
Input
十六进制数字符串
Output
十进制数
Sample Input
FFFF
Sample Output
65535
Source
蓝桥杯
题目链接: https://acmore.cc/problem/LOCAL/1565

简析

用c语言写的话用for循环一下,每个位乘权值,加起来即可。
用Java写的话,有现成的方法呀

这里顺便说一下java中10进制与16进制的互换:
1、10进制转16进制

  int dec = 123;
  String hex = Integer.toHexString(dec);

2、16进制转10进制

  String hex = "FFFF";
  Integer dec = Integer.parseInt(hex, 16);

  但是,可能会超出长度限制,所以我们用Java中的BigInteger来处理:

  String hex = "FFFF";
  BigInteger dec = new BigInteger(hex, 16);

AC的代码

Python版

print(int(input(),16))

Java版

import java.io.BufferedInputStream;
import java.math.BigInteger;
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值