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
。これを解決する方法を知っている人はいますか?インライン関数を使おうと思ったのですが、関数風マクロとインライン関数の違いがよくわかりません。