Αστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια ΑνενεργάΑστέρια Ανενεργά
 

Κώδικες BCD GRAY ASCII

σελίδες 47-53

2.7 ΚΩΔΙΚΕΣ

2.7.1 ΔΥΑΔΙΚΟΙ ΚΩΔΙΚΕΣ

Ο άνθρωπος χρησιμοποιεί τη δεκαδική λογική. Αντίθετα, οι ηλεκτρονικοί υπολογιστές λειτουργούν με βάση τη δυαδική λογική. Είναι προφανές ότι υπάρχει πρόβλημα επικοινωνίας του χρήστη με τον ηλεκτρονικό υπολογιστή. Ο χρήστης εισάγει δεδομένα σε δεκαδική μορφή. Ο ηλεκτρονικός υπολογιστής επεξεργάζεται τα δεδομένα σε δυαδική μορφή. Επομένως, απαιτείται η κατάλληλη μετατροπή των πληροφοριών που ονομάζεται κωδικοποίηση. Κώδικας είναι ένας συστηματικός τρόπος παράστασης πληροφοριών.

Τα ηλεκτρονικά ψηφιακά συστήματα χρησιμοποιούν σήματα που έχουν δύο διακριτές τιμές. Όμως, τα ψηφιακά συστήματα αναπαριστούν και χειρίζονται πολλά διακριτά στοιχεία πληροφορίας και όχι μόνο δυαδικές πληροφορίες. Κάθε διακριτό στοιχείο πληροφορίας μπορεί να παρασταθεί με έναν δυαδικό κώδικα. Δυαδικός κώδικας είναι ένας συστηματικός τρόπος παράστασης πληροφοριών σε δυαδική μορφή.

Οι δυαδικοί κώδικες χρησιμοποιούν το δυαδικό ψηφίο (binary digit - bit) με δύο πιθανές τιμές “0” και ”1”. Με έναν δυαδικό κώδικα που χρησιμοποιεί n bits μπορούν να παρασταθούν το πολύ 2n διακεκριμένα στοιχεία πληροφορίας, αφού τα n bits μπορούν να τοποθετηθούν στη σειρά με 2n διαφορετικούς τρόπους (συνδυασμοί).

Τέσσερα στοιχεία μπορούν να παρασταθούν με έναν δυαδικό κώδικα των 2 bits. Κάθε στοιχείο παριστάνεται με έναν από τους τέσσερις τρόπους που μπορούν να τοποθετηθούν στη σειρά αυτά τα 2 bits: 00, 01, 10 και 11. Για παράδειγμα, οι τέσσερις εποχές του χρόνου θα μπορούσαν να παρασταθούν ως εξής:

Άνοιξη

«

00

Καλοκαίρι

«

01

Φθινόπωρο

«

10

Χειμώνας

«

11

Η παραπάνω αντιστοιχία των εποχών με δυαδικούς αριθμούς είναι ένας δυαδικός κώδικας. Η αντιστοιχία αυτή δεν είναι μοναδική και επιλέγεται ανάλογα με την εφαρμογή.

Αν το πλήθος των στοιχείων που πρόκειται να κωδικοποιηθούν δεν είναι δύναμη του 2, τότε μερικοί από τους συνδυασμούς των bits δεν χρησιμοποιούνται. Για παράδειγμα, τα 10 ψηφία του δεκαδικού συστήματος μπορούν να παρασταθούν με έναν δυαδικό κώδικα των 4 bits. Με 4 bits, όμως, μπορούν να αναπτυχθούν 16 συνδυασμοί. Επομένως, δεν χρησιμοποιούνται 6 συνδυασμοί.

Οι δυαδικοί κώδικες ανήκουν στις δύο ακόλουθες κατηγορίες ανάλογα με τον τρόπο κατασκευής τους:

ð     δυαδικοί κώδικες με βάρη

ð     δυαδικοί κώδικες χωρίς βάρη

2.7.2 ΔΥΑΔΙΚΟΙ ΚΩΔΙΚΕΣ ΜΕ ΒΑΡΗ

Οι δυαδικοί κώδικες με βάρη κατασκευάζονται με τέτοιον τρόπο ώστε στη θέση κάθε bit του κώδικα να αντιστοιχεί ένα βάρος (κάθε θέση έχει μία αξία).

Οι ακόλουθοι δυαδικοί κώδικες με βάρη στα bits ανάλογα με τη θέση τους, χρησιμοποιούνται για την κωδικοποίηση των 10 ψηφίων του δεκαδικού συστήματος:

-         ο BCD κώδικας

που χρησιμοποιεί 4 bits με βάρη 8 4 2 1

-         ο κώδικας με βάρη 7 4 2 1

που χρησιμοποιεί 4 bits με βάρη 7 4 2 1

-         ο Biquinary κώδικας

που χρησιμοποιεί 7 bits με βάρη 5 0 4 3 2 1 0

2.7.2.1 Ο ΚΩΔΙΚΑΣ BCD

Ο κώδικας BCD είναι δυαδικός κώδικας με βάρη, που χρησιμοποιείται για την κωδικοποίηση των 10 ψηφίων του δεκαδικού συστήματος, όπως δηλώνει άλλωστε το όνομά του: Binary Coded Decimal (δυαδικά κωδικοποιημένο δεκαδικό).

Ο κώδικας BCD χρησιμοποιεί 4 bits με βάρη 8 4 2 1 και παρουσιάζεται στον Πίνακα 2.7.1.

 

Πίνακας 2.7.1

Κώδικας BCD

Δεκαδικό

ψηφίο

BCD

8421

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

Ο κώδικας BCD είναι ένας τρόπος παράστασης των 10 ψηφίων του δεκαδικού συστήματος, το κάθε ένα από τα οποία αντιστοιχεί σε μία τετράδα bits.

Για παράδειγμα, ο δεκαδικός αριθμός 5 αντιστοιχεί στην τετράδα 0101 (0x8+1x4+0x2+1x1=5).

 

2.7.2.2 ΜΕΤΑΤΡΟΠΗ ΑΠΟ BCD ΣΕ ΔΕΚΑΔΙΚΟ

Για τη μετατροπή ενός BCD αριθμού σε δεκαδικό αριθμό χωρίζεται ο BCD αριθμός σε ομάδες τεσσάρων (4) bits και κάθε ομάδα μετατρέπεται στο ισοδύναμο δεκαδικό ψηφίο, σύμφωνα με τον Πίνακα 2.7.1.

Για παράδειγμα, ο BCD αριθμός 1000011000101001 αντιστοιχεί στο δεκαδικό αριθμό 8629 αφού:

1000

0110

0010

1001

8

6

2

9

Παρατήρηση. Ο κώδικας BCD χρησιμοποιεί τους 10 από τους 16 δυνατούς συνδυασμούς των 4 bits. Οι 6 συνδυασμοί 1010, 1011, 1100, 1101, 1110 και 1111 δεν χρησιμοποιούνται.

2.7.2.3 ΜΕΤΑΤΡΟΠΗ ΑΠΟ ΔΕΚΑΔΙΚΟ ΣΕ BCD

Για τη μετατροπή ενός δεκαδικού αριθμού σε BCD αριθμό, μετατρέπεται κάθε ψηφίο του δεκαδικού αριθμού σε μία ομάδα τεσσάρων (4) bits που αποτελούν τον ισοδύναμο BCD αριθμό του κάθε δεκαδικού ψηφίου, σύμφωνα με τον Πίνακα 2.7.1.

Για παράδειγμα, ο δεκαδικός αριθμός 4738 αντιστοιχεί στον BCD αριθμό 0100011000111000 αφού:

4

7

3

8

0100

0110

0011

1000

2.7.2.4 ΑΡΙΘΜΟΙ ΤΟΥ ΚΩΔΙΚΑ BCD ΚΑΙ ΔΥΑΔΙΚΟΙ ΑΡΙΘΜΟΙ

Ο κώδικας BCD δεν είναι ένα άλλο αριθμητικό σύστημα (όπως το δεκαδικό, το δυαδικό, το οκταδικό, το δεκαεξαδικό), αλλά είναι ένας τρόπος παράστασης των 10 ψηφίων του δεκαδικού συστήματος, το κάθε ένα από τα οποία αντιστοιχεί σε μία τετράδα bits.

Επομένως, είναι σημαντική η διαφορά ανάμεσα στη δυαδική κωδικοποίηση ενός δεκαδικού αριθμού και στη μετατροπή ενός δεκαδικού αριθμού στο δυαδικό σύστημα.

Ο κώδικας BCD είναι ένας άμεσος δυαδικός μετατροπέας μόνο για τους δεκαδικούς αριθμούς 0-9. Για τους δεκαδικούς αριθμούς που είναι μεγαλύτεροι από 9, η κωδικοποίηση και η μετατροπή είναι διαφορετικές.

Για παράδειγμα, ο δεκαδικός αριθμός 253 αντιστοιχεί:

-         στον 12-bits BCD αριθμό 001001010011

-         στον 8-bits δυαδικό αριθμό 11111101

2.7.3 ΔΥΑΔΙΚΟΙ ΚΩΔΙΚΕΣ ΧΩΡΙΣ ΒΑΡΗ

2.7.3.1 ΟΡΙΣΜΟΙ

 

Στους δυαδικούς κώδικες χωρίς βάρη η θέση κάθε bit του κώδικα δεν αντιστοιχεί κάποιο βάρος, όπως γίνεται στους δυαδικούς κώδικες με βάρη. Αυτοί οι κώδικες προκύπτουν από κάποιον κανόνα.

Τέτοιοι δυαδικοί κώδικες χωρίς βάρη είναι οι ακόλουθοι:

-         ο κώδικας Gray

-         ο κώδικας υπερβολής κατά 3 (excess-3)

 

2.7.3.2 Ο ΚΩΔΙΚΑΣ GRAY

Ο κώδικας Gray είναι δυαδικός κώδικας χωρίς βάρη που χρησιμοποιείται για την κωδικοποίηση των δεκαδικών αριθμών (όχι μόνο των 10 ψηφίων του δεκαδικού συστήματος, όπως γίνεται στον κώδικα BCD).

Ο κώδικας Gray που χρησιμοποιεί 4 bits (κωδικοποίηση των 16 πρώτων δεκαδικών αριθμών 0-15) παρουσιάζεται στον Πίνακα 2.7.2.

Πίνακας 2.7.2

Κώδικας Gray

 

Δεκαδικός

Αριθμός

Gray

0

0000

1

0001

2

0011

3

0010

4

0110

5

0111

6

0101

7

0100

8

1100

9

1101

10

1111

11

1110

12

1010

13

1011

14

1001

15

1000

 

Ο κώδικας Gray ονομάζεται κατοπτρικός κώδικας, λόγω του τρόπου κατασκευής του. Στον Πίνακα 2.7.2 φαίνεται ότι:

Η πρώτη στήλη από δεξιά (LSB) ξεκινάει πρώτα με ένα “0” και μετά με ένα ”1”. Αυτά είναι τα 2 πρώτα κατακόρυφα bits. Τα επόμενα 2 κατακόρυφα bits είναι κατοπτρικά των 2 πρώτων bits (υπάρχει συμμετρία ως προς τη μέση τους). Έτσι, δημιουργούνται 4 bits. Τα επόμενα 4 κατακόρυφα bits είναι κατοπτρικά των 4 πρώτων bits. Έτσι, δημιουργούνται 8 bits. Τα επόμενα 8 bits είναι κατοπτρικά των 8 πρώτων bits.

Η δεύτερη στήλη από δεξιά ξεκινάει πρώτα με δύο “0” και μετά με δύο ”1". Τα επόμενα 4 bits είναι κατοπτρικά των 4 πρώτων bits. Έτσι, δημιουργούνται 8 bits. Τα επόμενα 8 bits είναι κατοπτρικά των 8 πρώτων bits.

Αυτή η διαδικασία επαναλαμβάνεται και στις επόμενες στήλες. Η τρίτη στήλη από δεξιά ξεκινάει πρώτα με τέσσερα “0” και μετά με τέσσερα ”1" και είναι κατοπτρική ως προς το μέσον της. Η τέταρτη στήλη από δεξιά ξεκινάει πρώτα με οκτώ “0” και μετά με οκτώ ”1".

Ο κώδικας Gray έχει το εξής σημαντικό χαρακτηριστικό: στον κώδικα Gray αλλάζει ένα μόνο bit μεταξύ δύο διαδοχικών αριθμών. Για παράδειγμα, οι διαδοχικοί αριθμοί 5 και 6 του κώδικα Gray είναι 0111 και 0101, αντίστοιχα, δηλαδή αλλάζει μόνο το δεύτερο bit από δεξιά. Επίσης, οι διαδοχικοί αριθμοί 7 και 8 του κώδικα Gray είναι 0100 και 1100, αντίστοιχα, δηλαδή αλλάζει μόνο το τέταρτο bit από αριστερά. Αυτό δεν συμβαίνει στο δυαδικό σύστημα. Οι διαδοχικοί αριθμοί 5 και 6 στο δυαδικό σύστημα είναι 0101 και 0110, αντίστοιχα, δηλαδή αλλάζουν τα 2 bits από δεξιά. Επίσης, οι διαδοχικοί αριθμοί 7 και 8 στο δυαδικό σύστημα είναι 0111 και 1000, αντίστοιχα, δηλαδή αλλάζουν και τα 4 bits.

 

Αν χρησιμοποιούνται δυαδικοί αριθμοί για τη μετάβαση από έναν αριθμό στον επόμενο, τότε υπάρχει η πιθανότητα σφάλματος: η μετάβαση από το 0111 (7) στο 1000 (8) μπορεί να οδηγήσει (για μικρό χρονικό διάστημα) στο 0110 (4) αν το LSB αλλάζει γρηγορότερα από τα άλλα bits, με αποτέλεσμα να γίνει λάθος στη μετατροπή. Αν χρησιμοποιείται ο κώδικας Gray για τη μετάβαση από έναν αριθμό στον επόμενο, τότε η πιθανότητα σφάλματος εξαλείφεται: η μετάβαση από το 0100 (7) στο 1100 (8) επιτυγχάνεται με την αλλαγή ενός (1) μόνο bit.

2.7.4 ΑΛΦΑΡΙΘΜΗΤΙΚΟΙ ΚΩΔΙΚΕΣ

2.7.4.1 ΟΡΙΣΜΟΙ

Πολλές εφαρμογές των ηλεκτρονικών υπολογιστών απαιτούν τη χρήση δεδομένων που αποτελούνται από αριθμούς αλλά και από γράμματα και από ειδικούς χαρακτήρες. Για παράδειγμα, το λογιστήριο μίας εταιρείας χρησιμοποιεί ηλεκτρονικό υπολογιστή για να επεξεργάζεται τα αρχεία της μισθοδοσίας της εταιρείας. Για να παρασταθούν τα ονόματα των εργαζομένων σε δυαδική μορφή, πρέπει να υπάρχει ένας δυαδικός κώδικας για το αλφάβητο. Για να παρασταθούν οι μισθοί των εργαζομένων σε δυαδική μορφή πρέπει να υπάρχει ένας δυαδικός κώδικας για τους δεκαδικούς αριθμούς και για κάποιους ειδικούς χαρακτήρες, όπως είναι ο χαρακτήρας ”$”.

Οι αλφαριθμητικοί χαρακτήρες περιλαμβάνουν:

  • τα 26 κεφαλαία γράμματα του αγγλικού αλφαβήτου A-Z
  • τα 26 μικρά γράμματα του αγγλικού αλφαβήτου a-z
  • τα 10 δεκαδικά ψηφία 0-9
  • τους ειδικούς χαρακτήρες (τα σημεία στίξης όπως ! . , ? και άλλοι χαρακτήρες όπως @ # $ % & * + /).

 

Ένας αλφαριθμητικός κώδικας είναι ένας συστηματικός τρόπος παράστασης των αλφαριθμητικών χαρακτήρων σε δυαδική μορφή. Κάθε αλφαριθμητικός χαρακτήρας παριστάνεται με μία ομάδα bits, το μέγεθος της οποίας εξαρτάται από το πλήθος των αλφαριθμητικών χαρακτήρων που παριστάνει ο κώδικας.

 

Τέτοιοι δυαδικοί αλφαριθμητικοί κώδικες είναι οι ακόλουθοι:

-         ο κώδικας ASCII που χρησιμοποιεί 7 bits

-         ο κώδικας Baudot που χρησιμοποιεί 5 bits

2.7.4.2 Ο ΚΩΔΙΚΑΣ ASCII

Ο πλέον συχνά χρησιμοποιούμενος δυαδικός αλφαριθμητικός κώδικας είναι ο κώδικας ASCII (American Standard Code for Information Interchange) ο οποίος χρησιμοποιεί 7 bits για την κωδικοποίηση 128 χαρακτήρων.

Ο κώδικας ASCII περιλαμβάνει 94 εκτυπώσιμους γραφικούς χαρακτήρες και 34 μη εκτυπώσιμους χαρακτήρες ελέγχου (control characters), δηλαδή συνολικά 128 χαρακτήρες που παρουσιάζονται στον Πίνακα 2.7.3.

Οι εκτυπώσιμοι χαρακτήρες είναι:

  • τα 26 κεφαλαία γράμματα του αγγλικού αλφαβήτου A-Z
  • τα 26 μικρά γράμματα του αγγλικού αλφαβήτου a-z
  • οι 10 αριθμοί 0-9
  • οι 32 ειδικοί χαρακτήρες.

Οι χαραχτήρες ελέγχου χωρίζονται σε:

·        διαμορφωτές μορφής

·        διαχωριστές πληροφορίας

·        χαρακτήρες ελέγχου-επικοινωνίας.

 

 

 

 

Πίνακας 2.7.3

Κώδικας ASCII

 

 

b7b6b5

b4b3b2b1

000

001

010

011

100

101

110

111

0000

NUL

DLE

SP

0

@

P

`

p

0001

SOH

DC1

!

1

A

Q

a

q

0010

STX

DC2

"

2

B

R

b

r

0011

ETX

DC3

#

3

C

S

c

s

0100

EOT

DC4

$

4

D

T

d

t

0101

ENQ

NAK

%

5

E

U

e

u

0110

ACK

SYN

&

6

F

V

f

v

0111

BEL

ETB

'

7

G

W

g

w

1000

BS

CAN

(

8

H

X

h

x

1001

HT

EM

)

9

I

Y

i

y

1010

LF

SUB

*

:

J

Z

j

z

1011

VT

ESC

+

;

K

[

k

{

1100

FF

FS

'

L

\

l

|

1101

CR

GS

-

=

M

]

m

}

1110

SO

RS

.

N

^

n

~

1111

SI

US

/

?

O

-

o

DEL

Οι ηλεκτρονικοί υπολογιστές συνήθως χρησιμοποιούν δυαδικές λέξεις των 8 bits (1 byte),ενώ ο κώδικας ASCII χρησιμοποιεί 7 bits. Έτσι, κάθε χαρακτήρας του κώδικα ASCII συνήθως αναπαρίσταται με 1 byte των 8 bits, οπότε μπορεί να γίνει κωδικοποίηση 256 χαρακτήρων. Για την κωδικοποίηση των 128 χαρακτήρων του κώδικα ASCII χρησιμοποιείται το MSB με τιμή “0” (και τα υπόλοιπα 7 bits είναι τα 7 bits του κώδικα ASCII).

Παράδειγμα: Η λέξη bit στον κώδικα ASCII είναι:

b

i

t

1100010

1101001

1110100

Για την κωδικοποίηση άλλων χαρακτήρων (για παράδειγμα τα γράμματα του ελληνικού αλφαβήτου) χρησιμοποιείται το MSB με τιμή “1”. Με τον τρόπο αυτόν έχει προκύψει το Πρότυπο ΕΛΟΤ-928 του Ελληνικού Οργανισμού Τυποποίησης που είναι εγκεκριμένο από την ISO (International Standards Organisation).

Σχόλια   

+1 #1 lov 25-12-2016 15:28
It's actually a great and useful piece of info. I'm glad that you just shared
this helpful info with us. Please stay us informed like this.
Thanks for sharing.
Παράθεση

Προσθήκη νέου σχολίου


Κωδικός ασφαλείας
Ανανέωση