C语言怎样判断一个字符是否是十六进制?

RT,求解

十六进制(hexadecimal)是计算机中数据的一种表示方法,意思是逢十六进一。

十六进制数以16为基数,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15,也可以用小写字母a-f表示。

因此,判断一个字符是否是十六进制,只需要判断该字符是否属于以上字符的集合,就可以了。C语言代码为:

int hex( char ch ) //判断字符ch是否16进制字符,是返回1,否返回0
{
    if ( ch >='0' && ch <='9' ) //属于0-9集合,返回是
        return 1;
    if ( ch >='A' && ch <='F' ) //属于A-F集合,返回是
        return 1;
    if ( ch >='a' && ch <='f' ) //属于a-f集合,返回是
        return 1;
    return 0; //否则,返回不是
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-11
无论是字符还是其他任何数据,在计算机内部都是用二进制存储的,区别是,字符(ASCII码)仅占用1个字节,其他数据可能要更多的字节,也可能是一个字节的一部分,至于如何看待这个字节,完全取决于个人的“意志”。比如ASCII码95(二进制01011111),当作字符看(printf();输出)是小写字符'a',当作十进制数看则为95,当作十六进制数看则为0X5F,等等。所以说字符与十六进制数之间没有什么区别,因为二者毕竟不是同类东西。
第2个回答  2013-12-11
十六进制里面只有 0-9 a-f 和 A-F这些符号,如果有其余符号就你说不是。本回答被提问者采纳
第3个回答  2013-12-11
xxH就是十六进制“H”代表十六进制
第4个回答  2013-12-11
0x标记的就是十六进制
相似回答