Tải bản đầy đủ (.pdf) (5 trang)

Algorithms and Data Structures in C part 4 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (131.17 KB, 5 trang )

1 0  0 1 1 0
1 1  1 0 1 0
To test out the derivation for calculating the 2’s complement of a number derived in Section
1.1.3 a program to calculate the negative of a number is shown in Code List 1.7. The output of
the program is shown in Code List 1.8. Problem 1.11 investigates the output of the program.
Code List 1.7 Testing the Binary Operators in C++


Code List 1.8 Output of Program in Code List 1.7

A program demonstrating one of the most important uses of the OR operator, |, is shown in Code
List 1.9. The output of the program is shown in Code List 1.10. Figure 1.1 demonstrates the
value of x for the program. The eight attributes are packed into one character. The character field
can hold 256 = 2
8
combinations handling all combinations of each attribute taking on the value
ON or OFF. This is the most common use of the OR operators. For a more detailed example
consider the file operation command for opening a file. The file definitions are defined in
<iostream.h> by BORLAND C++ as shown in Table 1.7.

Figure 1.1 Packing Attributes into One Character
Code List 1.9 Bit Operators


Code List 1.10 Output of Program in Code List 1.9

Table1.7FieldsforFileOperations
inC++Source

enumopen_mode{
in=0x01,//openforreading


out=0x02,//openforwriting
ate=0x04,//seektoeofuponoriginalopen
app=0x08,//appendmode:alladditionsateof
trunc=0x10,//truncatefileifalreadyexists
nocreate=0x20,//open
failsiffiledoesn’texist
noreplace=0x40,//openfailsiffilealreadyexists
binary=0x80//binary(nottext)file
};

A program illustrating another use is shown in Code List 1.11. If the program executes correctly
the output file, test.dat, is created with the string, “This is a test”, placed in it. The file, test.dat, is
opened for writing with ios::out and for truncation with ios::trunc. The two modes are presented
together to the ofstream constructor with the use of the or function.
Code List 1.11 Simple File I/O


Previous TableofContents Next

Copyright © CRC Press LLC

Algorithms and Data Structures in C++
by Alan Parker
CRC Press, CRC Press LLC
ISBN: 0849371716 Pub Date: 08/01/93

Previous
 TableofContents Next

1.2.3Examples

This section presents examples of IEEE 32-bit and 64-bit floating point representations.
Converting 100.5 to IEEE 32-bit notation is demonstrated in Example 1.1.
Determining the value of an IEEE 64-bit number is shown in Example 1.2. In many cases for
problems as in Example 1.1 the difficulty lies in the actual conversion from decimal to binary.
The next section presents a simple methodology for such a conversion.
1.2.4ConversionfromDecimaltoBinary
This section presents a simple methodology to convert a decimal number, A, to its corresponding
binary representation. For the sake of simplicity, it is assumed the number satisfies

in which case we are seeking the a
k
such that


Example 1.1 IEEE 32-Bit Format
The simple procedure is illustrated in Code List 1.12. The C Code performing the decimal to
binary conversion is shown in Code List 1.13. The output of the program is shown in Code List
1.14. This program illustrates the use of the default value. When a variable is declared as z is by
data z, z is assigned 0.0 and precision is assigned 32. This can be seen as in the program z.prec()
is never called and the output results in 32 bits of precision. The paper conversion for 0.4 is
illustrated in Example 1.3.
1.3 Character Formats—ASCII
To represent keyboard characters, a standard has been adopted to ensure compatibility across
many different machines. The most widely used standard is the ASCII (American Standard Code
for Information Interchange) character set. This set has a one byte format and is shown in Table
1.8. It allows for 256 distinct characters and specifies the first 128. The lower ASCII characters
are control characters which were derived from their common use in earlier machines.Although
the ASCII standard is widely used, different operating systems use different file formats to
represent data, even when the data files contain only characters. Two of the most popular
systems, DOS and Unix differ in their file format. For example, the text file shown in Table 1.9

has a DOS format shown in Table 1.10 and a Unix format shown in Table 1.11. Notice that the
DOS file use a carriage return, cr, followed by a new line, nl, while the Unix file uses only a new
line. As a result Unix text files will be smaller than DOS text files. In the DOS and Unix tables,
underneath each character is its ASCII representation in hex. The numbering on the left of each
table is the offset in octal of the line in the file.

Example 1.2
Calculating the Value of an IEEE 64-Bit Number

Example 1.3
Converting 0.4 from Decimal to Binary
Code List 1.12 Decimal to Binary Conversion

Code List 1.13 Decimal to Conversion C++ Program


Code List 1.14 Output of Program in Code List 1.13

Table1.8ASCIIListingASCIIListing

oonul
08bs
10dle
18can
20sp
28(
300
388
40@
48H

50P
58X
01soh
09ht
11dc1
19em
21!
29)
311
399
41A
49I
51Q
59Y
02stx
0anl
12dc2
1asub
22“
2a
*
322
3a:
42B
4aJ
52R
5aZ
03etx
0bvt
13dc3

1besc
23#
2b+
333
3b;
43C
4bK
53S
5b[
04eot
0cnp
14dc4
1cfs
24$
2c,
344
3c<
44D
4cL
54T
5c\
05enq
0dcr
15
nak
1dgs
25%
2d‐
355
3d=

45E
4dM
55U
5d]
06ack
0eso
16syn
1ers
26&
2e.
366
3e>
46F
4eN
56V
5e^
07bel
0fsi
17etb
1fus
27
‘
2f/
377
3f?
47G
4fO
57W
5f_
60

68h
70p
78x

61a
69i
71q
79y
62b
6aj
72r
7az
63c
6bk
73s
7b{
64d
6cl
74t
7c|
65e
6dm
75u
7d}

66f
6en
76v
7e~


67g
6fo
77w
7fdel

Table1.9TextFileTestFile

Thisisatestfile
WewilllookatthisfileunderUnixandDOS


Previous TableofContents Next

Copyright © CRC Press LLC

Algorithms and Data Structures in C++
by Alan Parker
CRC Press, CRC Press LLC
ISBN: 0849371716 Pub Date: 08/01/93

Previous Table of Contents Next

×