我正在尝试制作一个计算 2 n和 2 n - 1的宏。那将是:
#define b(n) (2 << (n))
#define a(n) ((b(n))-1)
但是由于某种原因,这将其转换为int
,但我愿意使用unsigned long int
. 有谁知道如何解决这个问题?我曾考虑过使用内联函数,但是我并没有完全掌握类函数宏和内联函数之间的区别。
我正在尝试制作一个计算 2 n和 2 n - 1的宏。那将是:
#define b(n) (2 << (n))
#define a(n) ((b(n))-1)
但是由于某种原因,这将其转换为int
,但我愿意使用unsigned long int
. 有谁知道如何解决这个问题?我曾考虑过使用内联函数,但是我并没有完全掌握类函数宏和内联函数之间的区别。