PSP xvi

PSPプログラミングを教えるブログ(本気で頑張る人アクセス大歓迎サイト)

PSP-X.gif

記事の間違いを報告  新アップローダー
記事修正情報 PSPプログラミング資料 自作ゲーム PSP用エミュレータ リンク

公認リンク
公式PSP専科 公式PSVita専科 はじめるPSPSDK PSP EXEC GAME M@STER PSP 猫山のYouTubeチャンネル

TAG
全記事にタグをつけています  http://nekoyama2gillien.blog36.fc2.com/?tag=タグ
PSP PSPプログラミング DXライブラリPortable OSLib ショートプログラム ハローワールド
PSP自作ゲーム PSP自作ソフト エミュレータ ゲームアーカイブス PSP動画
動画 初音ミク ミクミクダンス MMDドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター

このブログについて

このブログでは、非公式のPSPソフト、いわゆる自作ソフト( PSP Homebrew )を作る事を目的とします。

著作権などの こまかい利用規約については、こちらを開いてお読み下さい

このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ


当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。


このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[edit]

CM: --
TB: --

page top

PSPプログラミング ビット操作の一覧表 

2009/09/19
Sat. 17:40

前回、AND とか OR とかが出てきたので、ご紹介

ビットとは、CPU が扱う数値の基礎です。

真 = ON = 1
偽 = OFF = 0

2進数なので、簡単かと。


ビット操作とは、所定のビットをONにしたり、OFFにしたり、反転する作業です

候補として、AND、OR、XOR、NOT などがあります。

AND ( A かつ B ) アンド
OR ( A または B ) オア
XOR ( A あるいは B のどちらか ) エクスクルーシブ・オア
NOT ( A でなくて ) ノット


以下、一覧表で見てください

AND ( A かつ B )
      ┏━━━━━┓
      ┃  B  ┃
      ┣━━┳━━┫
      ┃ 0 ┃ 1 ┃
┏━━┳━━╋━━╋━━┫
┃  ┃ 0 ┃ 0 │ 0 │
┃ A ┣━━╋──┼──┤
┃  ┃ 1 ┃ 0 │ 1 │
┗━━┻━━┻──┴──┘
A と B が真のとき、1


OR ( A または B )
      ┏━━━━━┓
      ┃  B  ┃
      ┣━━┳━━┫
      ┃ 0 ┃ 1 ┃
┏━━┳━━╋━━╋━━┫
┃  ┃ 0 ┃ 0 │ 1 │
┃ A ┣━━╋──┼──┤
┃  ┃ 1 ┃ 1 │ 1 │
┗━━┻━━┻──┴──┘
A または B が真のとき、1


XOR ( A あるいは B のどちらか)
      ┏━━━━━┓
      ┃  B  ┃
      ┣━━┳━━┫
      ┃ 0 ┃ 1 ┃
┏━━┳━━╋━━╋━━┫
┃  ┃ 0 ┃ 0 │ 1 │
┃ A ┣━━╋──┼──┤
┃  ┃ 1 ┃ 1 │ 0 │
┗━━┻━━┻──┴──┘
A のみが真、もしくは B のみが真のとき、1


NOT( A でなくて )
      ┏━━┓
      ┃反転┃
┏━━┳━━╋━━┫
┃  ┃ 0 ┃ 1 │
┃ A ┣━━╋──┤
┃  ┃ 1 ┃ 0 │
┗━━┻━━┻──┘
A の反転





算術式では、ビット演算と呼ばれます。
ビット演算
┏━━┳━━┳━━┳━━┳━━┳━━━━┳━━━━┓
┃演算┃AND ┃ OR ┃XOR ┃NOT ┃左シフト┃右シフト┃
┣━━╋━━╋━━╋━━╋━━╋━━━━╋━━━━┫
┃記号┃ & ┃ | ┃ ^ ┃ ~ ┃ << ┃ >> ┃
┗━━┻━━┻━━┻━━┻━━┻━━━━┻━━━━┛


条件式では、論理演算と呼ばれます。
論理演算
┏━━┳━━┳━━┳━━┓
┃演算┃AND ┃ OR ┃NOT ┃
┣━━╋━━╋━━╋━━┫
┃記号┃ && ┃ || ┃ ! ┃
┗━━┻━━┻━━┻━━┛
条件式における演算子については、こちらをどうぞ
演算子 - Wikipedia


ちなみに、条件式の記述について うっかりミスとか

if( state = 1 )
{
printf("やったぜ、加トちゃん!\n");
state++;
}

上記を行なうと、state に 1 が代入されてから、+1 加算されます。
何故かというと、if 文が代入式になっているからです。
この場合、

if( (state = 1) != 0)
{
printf("やったぜ、加トちゃん!\n");
state++;
}

という風に、コンパイラに解釈されちゃいます。
こういう記述の間違いは、コンパイル時にもエラーにならないので、自分でトレースして見付けるしかないようですね。
↑↑ ごめんなさい。コンパイルしたら「if文では代入しないほうが良いよん」警告がでますね。なんてカシコイPSPSDK!

さて、次回は ファイルの書き換え へ突入~~っ♪


関連記事
スポンサーサイト

[edit]

CM: 0
TB: 1

page top

この記事に対するコメント

page top

コメントの投稿

Secret

page top

トラックバック

トラックバックURL
→http://nekoyama2gillien.blog36.fc2.com/tb.php/145-190ce01a
この記事にトラックバックする(FC2ブログユーザー)

対戦!! 加トちゃんのころろんぺ!

対戦!! 加トちゃんのころろんぺ!の最新動画や評価レビュー、攻略情報なら「対戦!! 加トちゃんのころろんぺ!」へ!

対戦!! 加トちゃんのころろんぺ! | 2009/09/20 05:00

page top


h o m e |


 

2017-07