1.15 ビット数から8/10/16進数の桁数を求める。 公開日:2021年7月31日 C++関数・テンプレート集プログラミング技術情報 今回は整数値のビット数から、その値を表現するのに必要になる桁数を求めます。負の値は考慮していませんし、あくまでも数字の桁数ですので符号や3桁ごとのカンマなどは含みません。 桁数は16進数、8進数、10進数について求めます […] 続きを読む
1.14 2の冪乗か否かを判定する。 公開日:2021年7月30日 C++関数・テンプレート集プログラミング技術情報 今回は、与えられた値が2の累乗(べき乗)かどうかを判定する処理を作ってみます。 まずは整数定数式に対して静的に判定を行うためのメタ関数を定義してみましょう。 [crayon-673ffff14ad54998160450/ […] 続きを読む
1.13 無符号整数の最下位の ‘1’ のビットだけを抽出する。 公開日:2021年7月28日 C++関数・テンプレート集プログラミング技術情報 次のメタ関数は、1が立っている最も下位のビットだけを残し、他のビットを0にします。 [crayon-673ffff14ae50451988311/] 上のメタ関数では静的な処理しか行えませんので、通常の関数テンプレートに […] 続きを読む
1.12 最大公約数を求める。 公開日:2021年7月27日 C++関数・テンプレート集プログラミング技術情報 2整数の最大公約数を求めます。以下の条件を満たせば、必ずしも整数型でなくてもかまいません。 代入可能である <演算子が使用可能 %演算子が使用可能 [crayon-673ffff14af30980246498/] […] 続きを読む
1.11 整数除算 (商+剰余,C標準ライブラリ関数 div() のテンプレート版) 公開日:2021年7月26日 C++関数・テンプレート集プログラミング技術情報 同じような内容が続きますが、今回はC言語の標準ライブラリにあるdiv関数をテンプレート化したものです。 C++ではdiv関数が引数の型によって多重定義されています。しかし、返却値の型はC言語と同じで、div_t、ldiv […] 続きを読む
1.10 整数除算で端数切り下げ.(商+剰余,関数) 更新日:2021年7月26日 公開日:2021年7月25日 C++関数・テンプレート集プログラミング技術情報 前回は商の端数を切り上げましたので、今回は切り捨てることにします。 前回定義したxdiv_t構造体テンプレートを今回も使いますので再掲載しておきます。 [crayon-673ffff14b0e7019891534/] 例 […] 続きを読む
漢点字についての備忘録 公開日:2021年7月25日 技術情報 何年か前に漢点字についていろいろ調べる機会がありました。せっかくですので内容を公開情報として記録しておきます。 点字というのは、本来”仮名”しか表現することができません。下記のような6つの突起を指 […] 続きを読む
点字のデバッグ 公開日:2021年7月24日 プログラミング技術情報 今回は点字のデバッグについての話題です。PCで点字の出力を行うには点字ディスプレイというデバイスを使いますが、実機がないとどんな表示になるのか皆目わからないというのは困りものです。かといって、画面上に点字のパターンを描画 […] 続きを読む
三角形の面積 公開日:2021年7月23日 技術情報 このサイトはいろいろな人が見に来ます。中には中学生や高校生もいますし、社会人であっても数学がそれほど得意ではないという人も少なくないでしょう。そこで、ときどきは小学生~高校生レベルの話題も取り上げていきたいと思います。今 […] 続きを読む
1.9 整数除算で端数切り上げ.(商+剰余) 更新日:2021年7月25日 公開日:2021年7月22日 C++関数・テンプレート集プログラミング技術情報 前回は商のみを求めましたが、今回は余りも求めることにします。 商と余りなので、標準ライブラリのdiv_t等の型を使いたいところですが、テンプレート化しにくいですし、符合無し整数型も扱えませんので、独自にクラステンプレート […] 続きを読む