
define した値や変数値が、2 のべき乗かどうかを
関数ではなくマクロで簡単に評価できる方法はありますか。
例)
#define BUFFERSIZE (2048) // OK
//#define BUFFERSIZE (2000) // NG
#if !(BUFFERSIZE が 2 のべき乗か調べるマクロ/評価式)
# error コンパイルエラーメッセージ
#endif
assert(BUFFERSIZE が 2 のべき乗か調べるマクロ/評価式);
buffer[idx] = data;
if (BUFFERSIZE が 2 のべき乗か調べる)
idx = ++idx & (BUFFERSIZE - 1);
else {
idx = ++idx % BUFFERSIZE;
// idx = (idx + 1) >= BUFFERSIZE ? 0 : (idx + 1);
}
上記の、日本語で書いてる部分を満たすマクロ (関数ではなく) は
どういうふうにすればいいでしょうか。
よろしくお願いします。
No.3
- 回答日時:
確認していないけれど、
#define HOGE(X) !(X&(X-1)) && (X>0)
なるほどです。
念のため、サンプルプログラムを書いて確認しました。
colder さんの回答、下の UKY さんの回答どちらも正しく動作しましたが、
UKY さんのほうが少しだけ回答時間が早かったので、UKY さんを 20点にしました。
どうぞ気を悪くなさらないよう。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- 経済学 「政府支出乗算」の求め方を教えてください。 2 2022/11/20 19:52
- Visual Basic(VBA) For~Nextステートメントの終了条件について 1 2023/01/08 18:36
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- その他(プログラミング・Web制作) Arduino UNO のC言語 2 2023/04/18 19:42
- 統計学 IPCAで次元削減された画像の表示 1 2023/01/05 09:54
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
マクロの連続印刷が突然不可能...
-
マクロ実行時エラー
-
Excel・Word リサーチ機能を無...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
オートフィルターとExcelマクロ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロのゴミの消し方
-
ソース内の行末に\\
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
非表示の列をすべて削除するマクロ
-
特定文字のある行の前に空白行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
オートフィルターとExcelマクロ...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
おすすめ情報