不況で倒産寸前のベンチャー企業(?)でプログラマー歴2年になった 新米プログラマーの日記のような雑記です。
welcome 猫並プログラマーの奮闘日記 !
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
category : スポンサー広告 

コンピュータ用語の解説(エンディアン編)
このテーマで最近書いてなかったので久々に・・・べ、べつに面倒になったわけではないですよ?(・・;)

久々の今回はエンディアンについて、C言語だと常識なんですがC#やJavaなどポインタによるメモリへの直アクセスを認めない言語が定着して知らない人が増えたので書いておこうかと。

まず、前提知識としてメモリはアドレス1番地に1バイト格納されるということを覚えておいてください。
しかし、プログラムなどで変数を扱うときには1バイトとは限りません。Cでいうとint型なら4バイトですし、
shortなら2バイトです。
こういう多バイトにわたるデータをメモリで扱うときの格納方法の違いをエンディアンといいます。

エンディアンにはリトルエンディアンとビッグエンディアンがあります。

ビッグエンディアンは多バイトのとき上位バイトから順に格納します。
人間にとってはわかりやすいのですが、PCからするとアドレス計算に余分な計算が発生してしまいます。
ビッグエンディアン

リトルエンディアンはその逆で下位バイトから格納していきます。
こちらはアドレスを単純に加算してアクセスできるのでPCにとっては効率がいいといえます。

リトルエンディアン

他にもミドルエンディアンがありますが主流ではないので省きます。
最近はソフト開発者にこういったメモリ管理をさせないマネージド言語が主流のため、ソフト開発ではあまり気にされません。
しかし、私みたいにファームやOS移植など組込み用プログラムを書かなくてはいけない場合など
C言語、アセンブラを扱う上では最低限知っていないといけないことです。
たぶんゲーム関係も家庭用とかは知っていない駄目なんじゃないかなー(X箱はXNAだから関係ないけど・・・たぶん)

まぁエンディアンはこんな感じ、次回はどうするかなぁ。
ネットワーク関連でいこうかな(更新間隔がたぶん空くと思うけどw)

スポンサーサイト
category : コンピュータ関係  comment : 0  track back : 0

thema:自作・改造 - genre:コンピュータ















 

trackback URL
http://nekohara348.blog99.fc2.com/tb.php/41-408e39e6
trackback
プロフィール

猫原

Author:猫原
猫でもわかる程度の能力な新米プログラマーです。

扱える言語:
アセンブラ(intel系,SH系),C/C++,C#,
java,PHP,etc...

趣味
アニメとかゲームとかプログラムとか
ようするにオタク
(特にガンダム大好きです)

最近のマイブームはニコ動でアイマス架空戦記見ること
(千早かわいいよ千早)

フリーエリア
検索フォーム
ブロとも申請フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。