[PR]
2025年04月25日
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
C言語におけるビットシフト
2009年02月02日
久しぶりにC言語触ってます。
Cで作った擬似回路でシフト演算子使って、int型をビットシフトしてます。
C言語は低レベルの記述が出来ることで有名ですね。
他の言語はVHDLくらいしか触ったことがないですが。。
ちょっとライブラリを追加すれば、C言語でも論理回路作れるんじゃないか??
SystemC++とかどうなんでしょうね~?
テキストより要点を抜粋しました。
a<<b aをbだけ左シフト
a>>b aをbだけ右シフト
論理シフトか算術シフトかは処理系に依存(さりげなく怖いこと書いてます)
これだけです。
実は、*int(pow(2.0,3.0))とかでもビットシフトの代用は出来るのですが
せっかくなんでシフト演算子、使っていきます。こっちのほうが自然ですし。
Cで作った擬似回路でシフト演算子使って、int型をビットシフトしてます。
C言語は低レベルの記述が出来ることで有名ですね。
他の言語はVHDLくらいしか触ったことがないですが。。
ちょっとライブラリを追加すれば、C言語でも論理回路作れるんじゃないか??
SystemC++とかどうなんでしょうね~?
テキストより要点を抜粋しました。
a<<b aをbだけ左シフト
a>>b aをbだけ右シフト
論理シフトか算術シフトかは処理系に依存(さりげなく怖いこと書いてます)
これだけです。
実は、*int(pow(2.0,3.0))とかでもビットシフトの代用は出来るのですが
せっかくなんでシフト演算子、使っていきます。こっちのほうが自然ですし。
PR
型
2008年11月30日
16進数をファイル出力するときは unsigned intでキャスト
0フラグ使って余白は0で埋める。%08xで32bitの16進数になるはず?
pow関数は全部doubleなので使うときは、数値の後ろに.0をつける。
というか、VisualC++の16進数はunsigned int(32bit)しか出力されないようです。
不便ですな。
0フラグ使って余白は0で埋める。%08xで32bitの16進数になるはず?
pow関数は全部doubleなので使うときは、数値の後ろに.0をつける。
というか、VisualC++の16進数はunsigned int(32bit)しか出力されないようです。
不便ですな。
| HOME |