十六进制转十进制

博客探讨了两种将十六进制数值65535转换为十进制的方法,一种内存使用少但代码较长,另一种代码较短但内存使用较多。
摘要由CSDN通过智能技术生成
问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出

65535


第一种方法:


这个代码虽长,但内存使用较少:

详细记录
评测点序号 评测结果 得分 CPU使用 内存使用 下载评测数据
1 正确 25.00 0ms 836.0KB 输入 输出
2 正确 25.00 0ms 836.0KB 输入 输出
3 正确 25.00 0ms 836.0KB 输入 输出
4 正确 25.00 0ms 836.0KB 输入 输出


源代码
1
int main(void)
2
{
              
3
  char Hex[8];
4
  char str[33];
5
  int len;
6
  int i=0;
7
  int j=0;
8
  unsigned int res;
9
  int base;
10
  scanf("%s",Hex);
11
  len = strlen(Hex);
12
  while(Hex[i]!='\0')
13
  {
              
14
    switch(Hex[i])
15
    {
              
16
    case 'A':
17
      strcpy(&str[j],"1010");
18
      i++;
19
      j+=4;
20
    break;
21
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值