题解 | #进制转换#

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

#include <stdio.h>

//麻了麻了,对于一个写嵌入式的程序员太难了,C库函数我一个也不记得

char char2dec(char c) {
    if((c >= 'A') && (c <= 'F')) {
        return c - 'A' + 10;
    }
    
    if((c >= 'a') && (c <= 'F')) {
        return c - 'a' + 10;
    }
    
    if((c >= '0') && (c <= '9')) {
        return c - '0' + 0;
    }
    
    return 0;
}

int power(unsigned int a, unsigned int b) {
    int i = 0;
    int v = 1;
    if(b <= 0) {
        return 1;
    }
    
    for (i = 0; i < b; i++) {
        v *= a;
    }
    return v;
}

int main(void)
{
    int i = 0;
    int len = 0;
    char arr[108] = "\0";
    int num = 0;
    int ch = 0;
    fgets(arr, sizeof(arr), stdin);
    //0xAA\n
    len = strlen(arr) - 3;

    for (i = 0; i < len; i++) {
        ch = char2dec(arr[strlen(arr) - 2 - i]);
        num += ch * power(16, i);
    }
    
    printf("%d", num);
    return 0;
    
    
}



全部评论

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
面试二三十个人的小公司都挂了,真的有点怀疑自己了
学院鼠鼠一只耳:这种一般就是你太优秀了,知道你不会来
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务