エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
可変長ビット列を出力 - hogelogの日記
文字列型で渡された"10111"みたいなビット列を、実際のビット列として書き出す関数putbitsを作ろう。で... 文字列型で渡された"10111"みたいなビット列を、実際のビット列として書き出す関数putbitsを作ろう。でも困ったことにコンピュータさんは、8の倍数ビット単位での読み書きしかできないらしい。というか、だからこんな関数が必要になるわけだが。 putbits("10111", stdout)みたいにすると、putbits関数内で保持している静的変数bitsに1ビットずつ追記していく。でもってbitsの長さが8ビットに達するたびに、bitsを出力。bitsの長さが8ビット未満で終わったら、その値は次回のために取っておく。 NULLポインターを渡されたら、保持しているbitsのうしろに0を詰めてって出力。 int putbits(char *bitstream, FILE *fp){ static int length = 0; static unsigned char bits = 0; i