Bottom of This Page |
Probably the biggest stumbling block most beginning programmers encounter when attempting to learn assembly language is the common use of the binary and hexadecimal numbering systems. Understanding these numbering systems is important because their use simplifies other complex topics including boolean algebra and logic design, signed numeric representation, character codes, and packed data.
This section discusses several important concepts including the binary, decimal, and hexadecimal numbering systems, binary data organization (into bits, nibbles, bytes, words, and double words), signed and unsigned number systems, arithmetic, logical, shift, and rotate operations on binary values, bit fields and packed BCD (Binary Coded Decimal) data, and the ASCII (American Standard Code for Information Interchange) character set. This is basic material and the remainder of this tutorial depends upon your understanding of these concepts. If you are already familiar with these terms from other courses or study, you should at least skim this material before proceeding to the next chapter. If you are unfamiliar with this material, or only vaguely familiar with it, you should study it carefully before proceeding. All of the material in this chapter is important! Do not skip over any material.
Most modern computer systems do not represent numeric values using the decimal system. Instead, they typically use a binary or two's complement numbering system. To understand the limitations of computer arithmetic, you must understand how computers represent numbers.
Remember how mathematical operations are entered into a computer:
There are four number bases commonly used in programming. These are:
Name | Base | Symbol |
Binary | Base 2 | B |
Octal | Base 8 | Q or O |
Decimal | Base 10 | none or D |
Hexadecimal | Base 16 | H |
The Decimal Number System uses base 10. It includes the digits from 0 through 9. The weighted values for each position is as follows:
10^4 | 10^3 | 10^2 | 10^1 | 10^0 | 10^-1 | 10^-2 | 10^-3 |
10000 | 1000 | 100 | 10 | 1 | .1 | .01 | .001 |
You have been using the decimal (base 10) numbering system for so long that you often take it for granted. When you see a number like "123", you don't think about the value 123. Instead, you generate a mental image of how many items this value represents. In reality, however, the number 123 represents:
1 * 10^2 + 2 * 10^1 + 3 * 10^0 =
1 * 100 + 2 * 10 + 3 * 1 =
100 + 20 + 3 =
123
Each digit appearing to the left of the decimal point represents a value between zero and nine times power of ten represented by its position in the number. Digits appearing to the right of the decimal point represent a value between zero and nine times an increasing negative power of ten. For example, the value 725.194 is represented as follows:
7 * 10^2 + 2 * 10^1 + 5 * 10^0 + 1 * 10^-1 + 9 * 10^-2 + 4 * 10^-3 =
7 * 100 + 2 * 10 + 5 * 1 + 1 * 0.1 + 9 * 0.01 + 4 * 0.001 =
700 + 20 + 5 + 0.1 + 0.09 + 0.004 =
725.194
A logarithm is used when working with exponentiation. We all learned
that the formula X = YZ
Y
and multiply it by itself the number of times
specified by Z
. For example,
23 = 8
2*2*2
).Z
is the exponential value of the equation. As
long as you know what the Y
and Z
values
are in the equation, it is easy to calculate the value of
X
. /
En logaritme bruges, når der udregnes med eksponent. Vi lærte
alle, at formlen X = YZ
Y
og multiplicer (gang) den med sig selv
antallet af gange angivet af Z
. For eksempel,
23 = 8
2*2*2
).Z
er eksponentiel-værdien i ligningen.
Så længe man kender, hvad Y
og Z
værdierne er i ligningen, er det nemt at beregne værdien af
X
.
Unfortunately, you may not always know the value of Y
and
Z
. How do you determine Z
if you know the value
of X
and Y
? This is when you use a logarithm. A
logarithm is the exponent value that indicates the number of times the
value Y
needs to be multiplied by itself to get the value
X
. The value that is multiplied Y
)Y
og
Z
. Hvordan bestemmer man Z
, hvis man kender
værdien af X
og Y
? Det er da, man bruger
en logaritme. En logaritme er eksponent-værdien, som angiver
antallet af gange værdien Y
behøver at blive
multipliceret (ganget) med sig selv for at få værdien
X
. Værdien som er multipliceret (ganget)
Y
)
There are two basic types of logarithms: common and natural.
A common logarithm uses a value 10 as the base value. Therefore,
in the basic formula for exponentiation above,
X = YZ
,Y
is 10, and Z
is the number of
times that Y
needs to be multiplied by itself
to return the value indicated by X
. /
Der er to grundlæggende typer af logaritmer:
sædvanlig og naturlig. En sædvanlig logaritme
bruger en værdi 10 som grundtal. Derfor i den
grundlæggende eksponent-formel ovenfor,
X = YZ
,Y
10, og Z
er antallet af gange
som Y
behøver at blive multipliceret
(ganget) med sig selv for at returnere værdien angivet
af X
.
Natural logarithms use a base value of approximately
2.71828182845905, normally referred to as e
.
The mathematical notation e
is Euler's
constant, the base of natural algorithms, made
common by the mathematician Leonhard Euler
(Basel, Switzerland April 15, 1707 -
Russia September 18, 1783).
VBScript provides two functions for working with
logarithms: Exp()
Log()
.e
. The
Log()
Exp()
e
. The
similar methods in JavaScript is called:
Math.exp()
Math.log()
.e
. Den matematiske notation e
er Eulers konstant, de naturlige algoritmers grundtal, gjort
alminding af matematikeren Leonhard Euler
(Basel, Schweiz 15. april 1707 -
Rusland 18. september 1783).
VBScript har to funktioner til udregninger med
logaritmer: Exp()
Log()
.e
.
Log()
Exp()
e
. De lignende
metoder i JavaScript kaldes: Math.exp()
Math.log()
.
It is possible to use these VBScript functions or JavaScript
methods if you have a different base value by using a simple
formula. By dividing the natural log of the desired number
X
)Y
),Z
)Z = Log(X) / Log(Y)
Z = ((Math.log(X)) / (Math.log(Y)));
.X
)Y
),Z
)Z = Log(X) / Log(Y)
Z = ((Math.log(X)) / (Math.log(Y)));
.
The custom function Pow2(NumDbl)
Log2(NumDbl)
Math.pow()
Math.log()
Pow2(NumDbl)
Log2(NumDbl)
Math.pow()
Math.log()
You can see the JavaScript by using View Source. / Man kan se JavaScript'et ved at bruge Vis Kilde.
Sources: Various books, the Internet, and various encyclopedias.
Kilder: Forskellige bøger, internettet og forskellige leksikoner.
|