Value (computer science)
From Wikipedia, the free encyclopedia
In computer science, a value is a sequence of bits that is interpreted according to some data type. It is possible for the same sequence of bits to have different values, depending on the type used to interpret its meaning. For instance, the value could be an integer or floating point value, or a string.
Some kinds of value are common to most programming languages (e.g., various kinds of number representations), while others are less commonly supported (e.g., Pascal supports a set type).
[edit] In C: L-value and r-value
Some languages use the idea of l-value and r-value. L-values are values that have addresses, meaning they are variables or dereferenced references to a certain place. R-value is either l-value or non-l-value — a term only used to distinguish from l-value. In C, the term l-value originally meant something that could be assigned (coming from left-value, indicating it was on the left side of the = operator), but since 'const' was added to the language, this now is termed a 'modifiable l-value'.
An l-value is an expression that designates (refers to) an object. A non-modifiable l-value is addressable, but not assignable. A modifiable l-value allows the designated object to be changed as well as examined. An r-value is any expression that is not an l-value, it refers to a data value that is stored at some address in memory.
[edit] In assembly language
A value can be virtually any kind of data by a given data type, for instance a string, a digit, a single letter.
In assembly language there is something known as "immediate value", sometimes "immediate" for short; occasionally it can be written as "imm#" where # is a number indicating the size of the immediate value, so imm8 would refer to an immediate byte size value. An immediate value is a number, either written with digits or as a string" "mnemonic 'A'" could be the same as "mnemonic 0x64"; the byte order of strings differs depending on the assembler and architecture.