专栏首页开心的学习之路基础练习 十六进制转十进制

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

问题描述

  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。   注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

样例输入

FFFF

样例输出

65535 思路:         设十六进制位数为n,十六进制的第i位乘以10的n - i次方。使用函数pow比较简单。pow函数包含在头文件cmath(C中是math.h )中,c++中提供很多种pow的重载形式,T pow( T x,T y )表示x的y次方,T可以为int、double、float、long double。

#include<cstdio>
#include<cmath>
#include<cstring>

int main()
{
    int len, i, t;
    long long int N = 0;
    char w[8];
    gets(w);
    len = strlen(w);
    for(i = 0; w[i] != '\0'; i++)
    {
        switch(w[i])
        {
            case'A': t = 10; break;
            case'B': t = 11; break;
            case'C': t = 12; break;
            case'D': t = 13; break;
            case'E': t = 14; break;
            case'F': t = 15; break;
            default:t = w[i] - '0'; break;
        }
        N = N + t * pow(16, len - 1 - i);
    } 
    printf("%I64d\n", N);
    return 0;
} 
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/Liukx940818复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 基础练习 十进制转十六进制

      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的...

    刘开心_1266679
  • 蓝桥杯 基础练习 十进制转十六进制

    十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至...

    Meng小羽
  • 蓝桥杯 基础练习 十六进制转十进制

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

    Meng小羽
  • 基础练习 十六进制转八进制

    输入格式   输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整...

    AI那点小事
  • 基础练习 十六进制转八进制

      输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制...

    刘开心_1266679
  • 基础练习十六进制转八进制

    Yuyy
  • 十进制转十六进制(Java版)

    基础练习 十进制转十六进制 问题描述   十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,...

    张俊怡
  • 蓝桥杯 基础练习 十六进制转八进制

      输入的第一行为一个正整数n (1<=n<=10)。   接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数...

    Meng小羽
  • c++二进制转十进制_进制转换:二进制、八进制、十进制、十六进制相互转换

    二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。

    用户7886150
  • Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

    使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。

    全栈程序员站长
  • [GO语言基础] 四.算术运算、逻辑运算、赋值运算、位运算及编程练习

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希...

    Eastmount
  • 【干货】小白最容易放弃的二进制详解!

    二进制,八进制,十六进制一直困扰着很多小伙伴,今天老九君就给小伙伴们讲解一下进制转化。 在计算机的世界里,只有0和1,也就是二进制。 我们如何把一个十进制的数转...

    老九君
  • 进制转换

    进制转换

    Java架构师必看
  • C语言编程入门训练(一)

      该专题为编程入门级别,适合大一大二同学使用,题目涉及编程基础语法,基本结构等。

    RAIN7
  • Java编程基础阶段笔记 day02 Java基本语法(上)

    ② char c1 = 'a'; char c2 = '中'; char c3 = '9';

    浮想
  • 十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释

    不考虑汇编语言的特性,对于一个字节:1 0 0 1 1 0 1 0,将其转十进制即为

    Piper蛋窝
  • Java编程基础阶段笔记 day02 Java基本语法(上)

    ② char c1 = 'a'; char c2 = '中'; char c3 = '9';

    逸朗
  • 微处理器原理之数值转换练习与解答

    1、一个四位二进制补码的表示范围是( B ) A、0~15 B、-8~7 C、-7~7 D、-7~8 过程:二进制补码取值范围为

    timerring

扫码关注腾讯云开发者

领取腾讯云代金券