试题 基础练习 十六进制转十进制

简介: 资源限制时间限制:1.0s 内存限制:512.0MB问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

资源限制

时间限制:1.0s 内存限制:512.0MB

问题描述

  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。


样例输入

FFFF

样例输出

65535

题目分析 :

1.考验进制转换

2.16转10进制为:

从末尾开始记为0,s[i]*pow(16,0);

从末尾加一记为1,s[i]*pow(16,1);

以此类推


代码如下:


C语言:


#include <stdio.h>
#include <math.h>
#include <string.h>
int main() {
  char s[8];
  scanf("%s", s);
  long long int sum = 0;
  int top = 0, last = strlen(s) - 1, i;
  for (i = last; i >= 0; i--, top++) {
    if (s[i] == 'A') {
      sum += 10 * pow(16, top);
    } else if (s[i] == 'B') {
      sum += 11 * pow(16, top);
    } else if (s[i] == 'C') {
      sum += 12 * pow(16, top);
    } else if (s[i] == 'D') {
      sum += 13 * pow(16, top);
    } else if (s[i] == 'E') {
      sum += 14 * pow(16, top);
    } else if (s[i] == 'F') {
      sum += 15 * pow(16, top);
    } else if (s[i] - '0' <= 9)
      sum += (s[i] - '0') * pow(16, top);
  }
  printf("%ld", sum);
}


C++:


#include <iostream>
#include <math.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  long long int sum = 0;
  int top = 0, last = s.length() - 1;
  for (int i = last; i >= 0; i--, top++) {
    if (s[i] == 'A') {
      sum += 10 * pow(16, top);
    } else if (s[i] == 'B') {
      sum += 11 * pow(16, top);
    } else if (s[i] == 'C') {
      sum += 12 * pow(16, top);
    } else if (s[i] == 'D') {
      sum += 13 * pow(16, top);
    } else if (s[i] == 'E') {
      sum += 14 * pow(16, top);
    } else if (s[i] == 'F') {
      sum += 15 * pow(16, top);
    } else if (s[i] - '0' <= 9)
      sum += (s[i] - '0') * pow(16, top);
  }
  cout << sum;
}


相关文章
|
7月前
|
算法 数据处理 C语言
这么好用的二进制转十进制教程,你不会还不知道吧?
这么好用的二进制转十进制教程,你不会还不知道吧?
|
7月前
|
Java C++ Python
试题 基础练习 十六进制转八进制
试题 基础练习 十六进制转八进制
53 0
进制学习3
进制学习3
53 1
【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制
【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制
260 0
【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制
|
7月前
|
存储 C++
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
107 1
|
7月前
|
存储
【二进制转换】十进制 转 二进制 (含相关题型)
【二进制转换】十进制 转 二进制 (含相关题型)
80 0
|
存储 Java 数据处理
【JavaSE专栏25】进制转换的那些事,十进制转R进制、R进制转十进制是什么操作?
【JavaSE专栏25】进制转换的那些事,十进制转R进制、R进制转十进制是什么操作?
163 0
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
|
算法
算法练习题(四)——十六进制和十进制的相互转换
算法练习题(四)——十六进制和十进制的相互转换
177 0
|
Go 开发者
十进制转为其他进制|学习笔记
快速学习十进制转为其他进制。
131 0
十进制转为其他进制|学习笔记