怎么用 Macro判断值为10进位,16进位,8进位
如何用 Macro判断值为10进位,16进位,8进位牛人们好, 我在学 C++ 书中有个练习题是说用 Macro写一个可以
如何用 Macro判断值为10进位,16进位,8进位
牛人们好,
我在学 C++ 书中有个练习题是说用 Macro写一个可以判断八进位、十进位、十六进位(hex)的代码
想请教一下怎麽做…因为我实在没有一点头绪…
#define is_digit(x) .....
#define is_hex(x) ....
#define is_oct(x) ...
请大家给我一些提示 Orz c++ Macro
[解决办法]什么样的书这么.....
x是什么类型?
x如果是数值,在计算机内部都是16进制数
如果是字串,则只能部分判断出是16进制,如果有编码大于'9'
有编码'8','9'则可能是10进制,也可能是16进制
所以编码都小于‘8’,则8\10\16进制数都有可能
[解决办法]C,C++ 的标准库
C,C++: ctype.h
C++: cctype
有判断是否10进制数字和十六进制数字的函数,
isdigit,isxdigit
可能就是用宏实现的。
这个头文件,是可以直接看到的。
自己写
'0'..'7', 是 8进制数字
'0'..'9', 是 10 进制数字
'0'..'9''a'..'f''A'..'F' 十六进制数字,其中 'a'..'f','A'..'F'分别是小写和大写。