メモリ内に 16 ビットの小さな整数であるval変数を作成しました。次に、&演算子を使用して、最新の 9 ビットをマスクしました。 これはビット演算で使用されるAND演算子であり、そのプロセスは次のとおりです。 X Y res0 0 00 1 01 0 01 1 1 ...
ただ変数を代入したプログラムでは、「値を読んで値を書き込む」という処理だったのが、 ポインタを使うと「アドレスを読んでアドレスを書き込む」という処理に変わるわけです。 そのあたりの勘所さえつかめれば、C言語のポインタも理解できると思いますし、 C言語でポインタを使うときは...
ツイッター、そしてコメントでもいただいたので追記。 printfを使う前提で文字列化はこちらに任せ、十進数で(二進数に見える)数字をテーブル管理する。 #define BCD(c) (__bits__[c])staticconstunsignedint__bits__[]={0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,111...
「ステップ10: 複数文字のローカル変数」に相当する内容は下記の記事です。 コンパイラの作り方 Cで書かれたC言語コンパイラ(複数文字のローカル変数版)をC#で書き直してみる 「ステップ11:return文」に相当する内容は下記の記事です。 コンパイラの作り方 Cで書かれたC言語コンパイラ(return...
10 ソースコードファイルを章・節の数字に基づくファイル名で保存。<エディタ> 10 コンパイル。<コマンド> 11 (エラーが出れば)変数宣言など自明な処理を追加。<エディタ> 12 (必要があれば)処理の経過and/or結果が分かる出力を追加。<エディタ> ...
2023/08/15 clang-tidyの説明のtypoを修正やることdockerコンテナ上にclangを使った環境を作成Hello worldプログラムの作成とコンパイル、実行clang…
方針としては文字列として入力させint型に変換して変数に代入する形で対策していきます。入力にはfgets()、変換にはstrtol()を使います。atoi()ではなくstrtol()な理由は意図せぬ入力で正常に変換できなかった場合に対応する為です 他の関数と違いfgets()は用意していた配列よりも長い文字列を入...
はじめに最近C言語を書き始めたという真のC言語初心者向けの記事です。意図通りに動かないプログラムコンパイルは通るものの意図通りに動かないプログラムを書きます。0~15の数字のうち奇数を降順に…