**616 Appendix**

1. Dimensions

*1.1 *Definition of dimension, repeated from GC 12.

dimension : = (base-unit: unit)½ [dimension-expression]

*1.2 *Basic dimensions

time / [t] : = dimension(base-unit: second)

length / [l] : = dimension(base-unit: meter)

cost / [$] *: *= dimension(base-unit: dollar)

weight *: *= dimension(base-unit: kilogram)

power : dimension(base-unit: watt)

temperature : = dimension(base-unit: degree-centigrade)

voltage *: *= dimension(base-unit: volt)

current *: *= dimension(base-unit: ampere)

component / [c] *: *= dimension

operation / [o] : = dimension

information / [i] *: *= dimension(base-unit: bit)

state *: *= dimension(base-unit: state)

2. **General units**

*2.1 *Definition of unit, repeated from CC 12.

unit *: *= (dimension; conversion-list)½
unit-name *: *= multiplier unit½
simple-name

conversion *: *= number-name unit ½
number-name / unit½
arithmetic-expression (unit)

*2.2 *We give the basic units, but no variations with multipliers.

second / sec / s : = unit(dimension: time)

minute / min : = unit(dimension: time; conversion: 60 s)

meter / m *: *= unit(dimension: length)

foot / ft : = unit(dimension: length; conversion: 3.28 / meter, 12 in)

inch / in : = unit(dimension: length; conversion: 39.37 / meter, 12 / ft)

dollar / $ *: *= unit(dimension: cost)

operation / o : = unit(dimension: operation)

watt / w *: *= unit(dimension: power)

volt / v : = unit(dimension: voltage)

ampere / amp / a *: *= unit(dimension: current)

kilogram / kg *: *= unit(dimension: weight; conversion: 2.2 / lb)

pound / lb : = unit(dimension: weight; conversion: 2.2 kg)

**3. Information units
**

state *: *= unit(dimension: state; conversion: 2^{x}** **bits)

binary-digit / bit / b : = unit(dimension: [i]; conversion: log_{2}(x) states)

octal-digit / od : = unit(dimension: [i]; conversion: 3 bits)

decimal-digit / digit / d / dit *rare: *unit(dimension: [i]; conversion:

log_{2}(10) bits, 1og_{10}(x) states)

hexa-decimal-digit / hex : = unit(dimension: [i], conversion: 4 bits)

character / char / ch : = unit(dimension: [i]; conversion: 4 ~ 8 bits)

byte / by *: *= unit(dimension: [i]; conversion: 8 bits)

**COMMENT **The byte is almost standardized at 8 bits; occasional use otherwise, although not in this book.

3.2 *I-units*

i-unit *: *= base-unit ½
length X i-unit½
i-unit-name ½
(base-unit; length- list; content: product(length-list) base-unit; level:number(length-list))

i-unit-name : = i-unit-prefix i-unit-name ½
simple-name

i-unit-prefix : = + integer½
multiple/m½
quadruple/q½
triple/t½
double/d ½
*single/s ½
half/h ½
fractional/fr

base-unit : = unit(dimension: [i])

length *: *= + integer

The i-unit is a hierarchically organized information structure, in which each level consists of a number of subunits, all identically organized. The number of subunits in a level is called its length. Units eventually occur that cannot be decomposed further. These are called base-units and are some unit of information-e.g., the bit or the character. Thus, if the lengths are L_{1}, L_{2, . . . , }L_{n} and the base unit is the bit, then the total amount of information (the content of the i-unit) is L_{1 }x L_{2 }x . . . x L_{n} bits and the number of levels is n. The i-unit may be likened to an n-dimensional rectangular volume of information (except that the "dimensions"¾
the lengths¾
occur in a fixed order).

COMMENT** **Almost all information in computer systems is organized in terms of i-units¾
e.g., a memory consists of a number of words, each of a number of characters, each of a number of bits. More exotic data structures are invariably encoded into i-units and are not reflected in the hardware.