値 (計算機科学)

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Luckas-bot (会話 | 投稿記録) による 2012年5月16日 (水) 06:41個人設定で未設定ならUTC)時点の版 (r2.7.1) (ロボットによる 追加: id:Nilai (ilmu komputer))であり、現在の版とは大きく異なる場合があります。

情報工学において、(あたい)とは何らかのを評価した結果である。式はデータ型を持ち、評価結果は内部的にはビット列になる。データ型が異なれば、同じビット列が異なる値(意味)を持つこともある。例えばあるビット列は整数浮動小数点数または文字列として解釈されることがある。

いくつかの種類の値はほとんどのプログラミング言語で共通してサポートされている。様々な数値表現などがその例である。一方、あまり広くサポートされていないものもある。Pascalにある集合型などがその例である。

右辺値と左辺値

Cなどのいくつかの言語には左辺値(l-value)と右辺値(r-value)という概念がある。左辺値はアドレスに紐付けられたもの、つまり変数かデリファレンスされた参照である。関数も、関数ポインタを取得できるので左辺値である。右辺値は左辺値であっても、非左辺値であってもよい。Cでは、そもそも左辺値とは代入ができるもの(=演算子の左辺)という意味であったが、constが追加されてからは、「変更可能な左辺値」という用語がこれに置き換わった。

左辺値はあるオブジェクトを指し示すである。変更不可能な左辺値はアドレスを持つが、代入不可能である。変更可能な左辺値は指し示すオブジェクトを変更することが可能である。右辺値はあらゆる式であり、その式を評価した結果の値を意味する。

アセンブリ言語

値は単なるビット列なので、どのようなデータ型とみなすことも本質的には自由である。

アセンブリ言語には即値またはイミーディエイトと呼ばれる値がある。即値はサイズに厳格な制限があり、imm#と書いて#ビットの即値であることを表すことがある。例えばimm8は8ビットの即値を意味する。即値は数字(0x64など)または文字列('A'など)で記述されることがある。複数バイトバイトオーダCPUアーキテクチャによって異なる。

関連項目

外部リンク