zoukankan      html  css  js  c++  java
  • htoi的实现

    htoi的实现

     1 /*************************************************************************
     2     > File Name: htoi.c
     3     > Author: ChenPeng
     4     > Mail:479103815@qq.com 
     5     > Blog: http://www.cnblogs.com/cpsmile/
     6     > Created Time: Fri 03 Apr 2015 07:22:15 PM CST
     7  ************************************************************************/
     8 #include<stdio.h>
     9 #include<stdlib.h>
    10 
    11 #define YES 1
    12 #define NO 0
    13 
    14 /*将十六进制数字组成的字符串转换为与之等价的整型值*/
    15 int htoi(char *str)
    16 {
    17     int hexdigit;//记录每一个十六进制数对应的十进制数
    18     int i;//工作指针
    19     int ishex;//是否是有效的十六进制数
    20     int n;//返回的十进制数
    21 
    22     i= 0;
    23     if(str[i] == '0')
    24     {
    25         ++i;
    26         if(str[i] == 'x' || str[i] == 'X')
    27             ++i;
    28     }
    29     n = 0;
    30     ishex = YES;
    31     for(; ishex == YES; ++i)
    32     {
    33         if(str[i] >= '0' && str[i] <= '9')
    34             hexdigit = str[i] - '0';
    35         else if(str[i] >= 'a' && str[i] <= 'f')
    36             hexdigit = str[i] - 'a' + 10;
    37         else if(str[i] >= 'A' && str[i] <= 'F')
    38             hexdigit = str[i] - 'A' + 10;
    39         else
    40             ishex = NO;
    41         if(ishex == YES)
    42             n = 16 * n + hexdigit;
    43     }
    44     return n;
    45 }
    46 
    47 int main()
    48 {
    49     char str[30] = "";
    50     int val;
    51     while(printf("Please enter a hex string:
    "),scanf("%s",str) == 1)
    52     {
    53         val = htoi(str);
    54         printf("整数是:%d
    ",val);
    55     }
    56     return 0;
    57 }
  • 相关阅读:
    HTML特效代码大全
    PHP网站加网站访问量统计
    定时显示隐藏
    加入收藏 设为首页
    IP和归属地
    手机站的拨打电话和发短信
    Shell运算
    Shell命令替换与变量替换
    $* 和 $@ 的区别
    Shell特殊变量列表
  • 原文地址:https://www.cnblogs.com/cpsmile/p/4390900.html
Copyright © 2011-2022 走看看