أنت هنا:برمجها»هندسة الحواسيب»الدرس 6: التشفير
الدرس 6: التشفير الدرس 6: التشفير
قيم الموضوع
(2 أصوات)

 

 
 هناك طرق لتشفير الأعداد في النظام الثنائي وهي التي سنتطرق إليها خلال هذا الدرس.

التشفير الثنائي الطبيعي

المبدأ : لتمثيل الأرقام نستعمل النظام الثنائي

|  0000      |           0   |                  |  000      |         0   |                  |  00      |         0   |

0001      |           1   |                  |  001      |         1   |                  |  01      |         1   |

0010      |           2   |                  |  010      |         2   |                  |  10      |         2   |

0011      |           3   |                  |  011      |         3   |                  |  11      |         3   |

0100      |           4   |                  100      |         4   |                                             

0101      |           5   |                  101      |         5   |                                             

0110      |           6   |                  110      |         6   |                                             

|  0111      |           7   |                  111      |         7   |                                             

1000      |           8   |                                                                                             

1001      |           9   |                                                                                             

1010      |         10   |                                                                                             

1011      |         11   |                                                                                             

1100      |         12   |                                                                                             

1101      |         13   |                                                                                             

1110      |         14   |                                                                                             

1111      |         15   |                                                                                             

 


تشفير غراي (GRAY)

المبدأ: هذا التشفير صعب الفهم قليلا وللتعرف على مبدأه نأخذ المثال التالي :

 كيف نمثل الأرقام العشرية   0 و 1  و 2   و 3

باستعمال النظام الثنائي (التشفير الثنائي الاعتيادي)، لدينا :

بالنسبة لـ 0 -----> 0 0 0  و للحصول على  1  نضيف 1  لـ 000
بالنسبة لـ 1 -----> 1 0 0  و للحصول على  2  نضيف 1  لـ 001
بالنسبة لـ 2 -----> 0 1 0  و للحصول على  3  نضيف 1  لـ 010
بالنسبة لـ 3 -----> 1 1 0  و للحصول على  4  نضيف 1  لـ 011
:                                                                  :

وباستعمال طريقة غراي (تشفير GRAY)، لدينا : تغيير زوج  مرة واحدة  للحصول على العدد التالي

بالنسبة لـ 0 -----> 0 0 0  و للحصول على  1  نغير  الزوج 0   ونعوضه بـ  1         
بالنسبة لـ 1 -----> 1 0 0  و للحصول على  2  نغير  الزوج 1  ونعوضه بـ  1 ، لماذا ؟

نبدأ دائما من الزوج 0  ثم  الزوج 1   ثم  الزوج 2  وهكذا...  

إذا غيرنا حالة  الزوج 0  الذي يساوي 1 إلى  0  سنحصل على الرقم  ( 0 == 0 0 0) لكنه موجود

وبما أن التغيير مرة واحدة فقط ننتقل إلى الزوج المجاور يعني  الزوج 1 الذي يساوي 0 ونغيره إلى 1 وبالتالي نحصل

على 2 التي تصبح تساوي 011 إذن:

 بالنسبة لـ 2 -----> 1 1 0  و للحصول على  3   نغير  الزوج 0   ونعوضه بـ  0 ، لماذا ؟

نبدأ دائما من الزوج 0  ثم  الزوج 1   ثم  الزوج 2  وهكذا...

إذا غيرنا حالة  الزوج 0    الذي يساوي 1 إلى  0  سنحصل على رقم جديد الذي هو( 3 == 0 1 0) وهذا ما نريده.

ملاحظة : إذا غيرنا حالة  الزوج 1   الذي يساوي 1 إلى  0  سنحصل على الرقم  ( 1 == 1 0 0) لكنه موجود

            إذن يكفي تغيير  الزوج 0  الذي يساوي 1 إلى 0 وبالتالي نحصل على 3  التي تصبح تساوي 010 إذن:

 بالنسبة لـ 3 -----> 0 1 0  و للحصول على  4   نغير الزوج 2  ونعوضه بـ  1 ، لماذا ؟

نبدأ دائما من الزوج 0  ثم  الزوج 1   ثم  الزوج 2  وهكذا...

  1. إذا غيرنا حالة الزوج 0 الذي يساوي 0 إلى 1 سنحصل على الرقم (2 == 1 1 0) لكنه موجود إذن ننتقل إلى الزوج 1
  2. إذا غيرنا حالة الزوج 1 الذي يساوي 1 إلى 0 سنحصل على الرقم (0 == 0 0 0) لكنه موجود إذن ننتقل إلى الزوج 2
  3. إذا غيرنا حالة الزوج 2 الذي يساوي 0 إلى 1 سنحصل على رقم جديد وهو ( 4 == 0 1 1) إذن:

بالنسبة لـ 4 -----> 0 1 1  و هكذا...
بالنسبة لـ 5 -----> 1 1 1 
           :
           :

خلاصة:

|  0000      |           0   |                  |  000      |         1   |                  |  00      |         0   |

0001      |           1   |                  |  001      |         1   |                  |  01      |         1   |

0011      |           2   |                  |  011      |         2   |                  |  11      |         2   |

0010      |           3   |                  |  010      |         3   |                  |  10      |         3   |

0110      |           4   |                  110      |         4   |                                             

0111      |           5   |                  111      |         5   |                                             

0101      |           6   |                  101      |         6   |                                             

|  0100      |           7   |                  100      |         7   |                                             

1100      |           8   |                                                                                             

1101      |           9   |                                                                                             

1111      |         10   |                                                                                             

1110      |         11   |                                                                                             

1010      |         12   |                                                                                             

1011      |         13   |                                                                                             

1001      |         14   |                                                                                             

1000      |         15   |                                                                                             

 

 


التشفير BCD (أو DCB أو ع.م.ز أي العشري مشفر زوجيا)

المبدأ : لتمثيل الأرقام العشرية نعطي لكل رقم عشري 4 أزواج من النظام الثنائي يعني :

0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1
001

ملاحظة : هذا التشفير يشبه إلى حد ما التشفير باستعمال النظام الثنائي لكن هناك فرق في تمثيل الأعداد

مثلا:  باستعمال  التشفير  الثنائي  الاعتيادي  لدينا : 2(10000000) = 10(128) 

      وباستعمال  التشفير BCD أو DCB أو ع.م.ز (العشري مشفر زوجيا) لدينا :       8          2         1

 

                                                                                               1000   0010   0001

إذن : (1000 0010 0001 ) = 128

العمليات الحسابية في هذا التشفير جد معقدة لنأخذ مثالين :

مثال 1: بسيط و سهل

 0011      0010     0001              3 2 1
 0101 +    0111 +   0110 +          5 7 6 +
|1000|    |1001|   |0111|             8 9 7
  8          9       7

مثال 2:  معقد و صعب ولا يمكن حله على ما أظن...

 0111     0011     0010     1001           7 3 2 9
 0001 +   1000 +   0000 +   0000 +       1 8      +
|1000|   |1011|   |0010|   |1001|          8 1 3 9
  8        ؟         2        9

لتجاوز هذا المشكل نستعمل التشفير في الفقرة التالية.

 


التشفير 3+BCD (أو 3+DCB أو ع.م.ز+3 أي العشري مشفر زوجيا+3)

المبدأ  : نضيف 3 أي 0011 على كل رقم من النظام الزوجي ونحصل على :

0
1
2
3
4
5
6
7
8
9
0011
0100
0101
0110
0111
1000
1001
1010
1011
11
00

العمليات الحسابية في هذا التشفير أسهل من التشفير السابق :

عموما ، للحصول على نتيجة الجمع في ع.م.ز+3 (BCD+3) يجب إضافة 3 إذا كان هناك محتفظ به أو ننقص 3 في الحالة المعاكسة  ( 1101  = 0011 - = 3 - )  لنأخذ مثالين :

مثال 1:  مع المحتفظ به

          المحتفظ به               1               |             1
                       1010                      |          7
                       1000              +     |<=>   5  +
                       0010    0001         |          2 1                
          (3)       0011    0011         |
                       0101    0100   <-------- بــ ع.م.ز+  3         (أنظر إلى الجدول)
                          2          1

مثال 2 :   بدون المحتفظ به

                 0110                    3
                 1000  +   <=>     5  +
                 1110                    8                  
  (3-)       1101  +
                 1011(1     <-------- بــ ع.م.ز+ 3           (أنظر إلى الجدول)
                       8   :..................................... تجاوز يحذف


تأليف

المؤلف الأصلي: مجهول
ترجمة بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب)


 

أضف تعليقا


إصنعها يريد أن يتأكد أنك لست روبوتا، لذلك أحسب ما يلي:

كود امني
تحديث