LIGHT11スマートフォン用の表示で見るLIGHT112019-05-22【AP】論理シフト・算術シフトAP基本的な知識を復習しつつAP対策するシリーズ。この記事では論理シフト・算術シフトについてまとめます。論理シフト今、2進数01000100(10進数で68)について考えます。この各ビットを左右に移動させて空いたビットを0で埋めることを論理シフトと言います。上図のように左に論理シフトをすると値が2倍になります。(10進数)になっています。前述のように左にシフトすると値が2倍になるのですが、その際に1があふれてしまうと値は2倍になりません。(10進数)になっています。これをオーバーフローと言います。ちなみに右にシフトした場合にはオーバーフローは起こりません。算術シフトさて一番左のビットが符号を表す場合には、符号をシフトしてしまっては困ります。そのため、一番左のビットを除いた部分だけをビットシフトします。これを算術シフトといいます。論理シフトの節で書いたように、左にシフトをすると値が2倍になります。この性質を利用して乗算をすることができます。元の値Aを3倍したい場合には、なので、左に1ビットシフトしたものと左に0ビットシフトしたものを加算すればOKです。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。インストールから基本的な使い方・注意点まとめ【Unity】【エディタ拡張】テクスチャを指定したUV座標で切り取って保存する【Unity】指定したアセットのAssetBundle名を取得する【Unity】【シェーダ】スクリプトからVP行列を渡してシェーダで座標変換に使う【Unity】【シェーダ】FloatやVectorをリニアライズ対象にするGammaアトリビュート月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。