المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : لمن يريد التوسع في النظام السادس العشري (منقول)



The Hacker
15-03-2002, 01:55 AM
ملاحظة إخواني
هذا الموضوع منقول بالكامل إختصاراً للوقت (نسخ ، لصق)
بسم الله
الانظمة العدديه
يمكنك بكل بساطه عمل أى نظام عددى ترغب به مثل
تنائى , ثلاثى , رباعى , خماسى , ......
إستنادنا إلى القاعده الاتيه
العدد = مجموع الارقام فى وزن كل خانه
مثال فى النظام الثنائى
العدد 15 =صفر × 2 ^صفر + 1× 2^1 +1×2^2 +1 ×2^3
= صفر + 2 + 4 + 8
= 1110

مثال فى النظام الثلاثى
العدد 15 =صفر × 3^صفر + 2 ×3^1 + 1 ×3^2
= صفر + 6 + 9
= 120

مثال فى النظام الرباعى
العدد 15 = 3 × 4 ^ صفر + 3 ×4^1
= 3 + 12
= 33

مثال فى النظام الخماسى
العدد 15 = صفر × 5^صفر + 3 × 5^1
= صفر + 15
= 30

مثال فى السداسى
العدد 15 = 3 × 6^صفر + 2 × 6^1
= 3 + 12
= 23

مثال فى النظام السباعى
العدد 15 = 1 × 7^صفر + 2 × 7^1
= 1 + 14
= 21

وهكذا أتمنى ان تكون الفكره واضحه

و هذا موضوع آخر للكاتب
SaD jAckAl
البت، البايت ،الثنائي، العشري، الستعشري......
السلامممم

البت، البايت ،الثنائي، العشري، الستعشري......


البت والبايت
-------------

يعتبر البت والبايت الحجر الأساسي للحاسوب الي يمكننا من خلالها تمثيل المعطيات .....
يعتبر البت خانة ثنائية واحدة تمثل أصغر وحدة تخزين فهي تحمل قيمة 1 اذا تمت مغنطتها ( الحالة on ) وتحمل القيمة 0 اذا لم تمغنط ( الحالة off) وينشأ عن تجميعها مع الخانات الثنائية الاخري القدرة علي تمثيل البايتات التي تتكون بايت واحد من ثمان بتات .. وفي الحقيقة البايت تمثل داخليا بتسع بتات الثمانية منها لتمثيل المعطيات والتاسعة تمثل خانة التحقق parity bit ...
1 1 1 1 1 1 1 1 | 1 ّ|
data المعطيات parity التحقق

وتجري العمليات الحسابية علي ثمان بتات الاولي ويمكن من خلالها تمثيل المحارف characters والرموز symbols او الارقام مثلا حرف A يمثل بــ 01000001 والرمز * بــ 00101010
تسمح هذه الخانات الثمانية بالحصول علي تركيب مختلفة من القيمتين 1 و 0 وذاك ابتداءا من التركيب 0000000 حتي 11111111
فلنقل ان لدينا عددان 123 و 76 فيتم تمثيلها هكذا :
123 76

1 1 0 1, 1 1 1 1 | 0 0 1 1, 0 0 0 1
وعند التخزين : اذا كان عدد البتات اقل من 8 يضاف اليها اصفار ، فمثلا القيمة 1010 تخزن 0000,1010


العدد الثنائي Binary or Base2
--------------
يستطيع الحاسوب ان تميز بين القيمتين 0 و 1 فقط ولذلك كما قلنا يتم تمثيل المعطيات ومعالجتها بنظام الثنائي ذي الاساس 2 وهو نظام يسمح بتمثيل كافة الاعداد بواسطة القيمتين 0 و 1 ( اي نستطيع تخزين احدي القيمتين فى خانة bit واحدة bit = binary digit )
يحمل اي عدد ثنائي قيمة تعتمد علي الموقع النسبي ( فلنقل مثلا هناك 4 خانات من العدد الثنائي في موقع ما ) اول خانة منها اذا كان يحتوي علي 1 يكون قيمته 1*1 والثاني رفع قيمتها الي اثنين ( اذا كان يحمل 1 يكون 1 * 2 والا 0 * 2 ) والثالثة رفع قيمتها الي 3 هكذا والرابعة رفع قيمتها الي 4 ....
2 ^ 1 = 2
2 ^ 2 = 4
2 ^ 4 = 8
2 ^ 8 = 16
2 ^ 16 = 32
2 ^ 32 = 64
2 ^ 64 = 128
( ملحوظة : سنستعمل علامة ^ لعملية الرفع power وعلامة * لعملية ضرب وعلامة / لعملية القسمة ، وعلامة # القيمة التي تحملها الخانة، الرفع مثلا 10^2 = 10 * 10 = 100، 10^4 = 10 * 10 * 10 * 10 = 1000 )

مثلا ناخذ الرقم الثنائي 1101 = 13 اربع خانات ( او اربع بتات متتابعات فى الذاكرة مثلا )

| 1 | 2 | 4 | 8 |
-------------------------------------------------------
1 0 1 1
ويتم حسابها هكذا
1 ^ 1 = 1 اول خانة
0 ^ 2 = 0 ثاني
1 ^ 4 = 4 ثالث
1 ^ 8 = 8 رابع
---------
13 =
اذن الموقع التي توجد فيها البتات الاربع تمثل القيمة 13

واليك مثل آخر الرقم 10001 = 17 خمسة خانات
1 ^ 1 = 1
0 ^ 2 = 0
0 ^ 4 = 0
0 ^ 8 = 0
1 ^ 16 = 16
---------
=17
والموقع التي فيها الخانات تمثل الرقم 17

( لا ينحصر تعامل الحاسوب مع الاعدادالثنائية المؤلفة من ثماني بتات ( خانات ) فقط فهذا الامر يختلف تبعا لبنية المعالج ، المعالج ذو البنية 16 خانة او 32 خانة تستطيع التعامل مع الاعداد المؤلفة من 16 بت او 32 بت بشكل آلي اذا كان نستطيع الحصول من 8 خانات ثنائية علي القيمة 256 فمن خلال 16 خانة يمكن الحصول علي 1-2 ^ 16 = 65635 ومن 32 خانة نحصل علي القيمة 4294967295 )


العدد العشري Decimal or Base10
-------------
كلنا نعرف العدد العشري ونستطيع نعدها كالتالي
0 1 2 3 4 5 6 7 8 9
يعني الرقم 10 يكون الأساس ( كما ان 0 و1 اي الاثنان اساس فى النظام الثنائي )

10 ^ 0 = 0
10 ^ 1 = 10
10 ^ 2 = 100
10 ^ 3 = 1000
10 ^ 4 = 10000
10 ^ 5 = 100000

فلناخذ الرقم 1040 ويكون تمثيله :
| رقم عادي | عشر | مئة | الف |
--------------------------------------------------
0 4 0 1
اول خانة رقم تحت 10 وهي هنا 0 ، والقيمة تكون 10 ^ 0 * 0 والثانية خانة تحمل 10 ^ 1 * القيمة والثالثة تحمل 10 ^ 2 * القيمة والرابعة تحمل 10 ^ 3 * القيمة

10 ^ 0 * 0 = 0
10 ^ 1 * 4 = 40
10 ^ 2 * 0 = 0
10 ^ 3 * 1 = 1000
1040

The Hacker
15-03-2002, 02:00 AM
العدد الستعشري Hexadecimal or BASE16
---------------------------
اممممم
14، هذا رقم عشري وتمثيله بالعدد الثنائي 1110 اما تمثيله فى الستشعري هي E
لأن تمثيل الستشعري هكذا :
F , E , D , C , B , A , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0
لاحظ انه
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
هـ = ستعشري
16 ^ 0 = 0
16 ^ 1 = 16 = 10هـ
16 ^ 2 = 256 = 100هـ
16 ^ 3 = 4096 = 1000هـ
16 ^ 4 = 65536 = 1000 هـ

اذن عندما نصل الرقم 16 تمثل بـ 10 لانه كما قلنا الاساس هنا 16 وليست 10
ورقم 20 ستعشري تساوي 32 ( 16 * 2 ) في العدد العشري...
100 ستعشري تساوي 256 ( 16 ^ 16 = 16 * 16 وليست 10 * 10 )
ولناخذ رقم 1211 ( ستعشري ونري مقابلها فى النظام العشري يطلع كم ؟ )
| 1 | 16 | 256 * 2 | 4096 |
--------------------------------------------
1 1 2 1
16 ^ 0 * 1 = 0
16 ^ 1 * 1 = 16
16 ^ 2 * 2 = 512
16 ^ 3 * 1 = 4096
= 4625

النظام الثماني Octal or Base8
--------------------------------------
هذا النظام الاساس فيها 8 وهو قليل الاستخدام
0 ، 1 ، 2 ، 3 ، 4 ،5 ، 6 ، 7 ، 8
8 ^ 0 = 0
8 ^ 1 = 16 = 20 ثماني
8 ^ 2 = 64 = 100 ثماني
8 ^ 3 = 512 = 1000 ثماني
الخ


----------------------------------------------
التحويل بين بعض انظمة العد :
التحويل من العشري الي الستشعري :
----------------------------------------------
للتحويل اجر عملية القسمة علي 16 بشكل متكرر إلي أن يصبح ناتج القسمة الصحيح بدون باق مساويا صفر، وعنئذ يمثل باقي القسمة الصحيح في كل مرة رقما ستشعريا ، الباقي الاول يمثل الرقم الستعشري الادني والاخير يمثل الرقم الستعشري
الاعلي فمثلا لدينا الرقم 42936 نحوله الي مقابله الستعشري
العملية ناتج القسمة باقي القسمة الصحيح الرقم الستعشري
42936/16 2683 8 8 ( الرقم الادني )
2683/16 167 11 B
167/16 10 7 7
10/16 0 10 A ( الرقم الاعلي )
فالرقم العشري 42936 مقابله الستعشري A7B8
( عادة تميز الرقم الستعشري فى نظام ويندووز باضافة حرف H علي آخره واما فى انظمة يونكس/لينكس فتضاف x0 ( صفر ثم حرف x أمام الرقم )، أما عندما تبرمج في دلفي تضاف علامة $ )

التحويل من الستعشري الي العشري
----------------------------------------------
لتحويل الرقم الستعشري ابدا من الرقم الأعلي واضرب كل رقم بالعدد 16 ثم اجمع النتائج خلال ذلك وتذكر انه يتم تحويل الارقام الستعشرية من A الي F الي مقابلها العشري من 10 حتي 15 فمثلا نحول الرقم الستعشري A7B8 الي مقابله العشري
ناخذا الرقم الاول وهي A ونضربه بـ 16 10 * 16 = 160
نضيف الرقم الثاني 7 اليه (160+7=167) ثم نضربه بــ 16 167 * 16 = 2672
نضيف الرقم الثالث B وهي (2672+11=2683) ثم نضربه بـ 16 2683 * 16 = 42928
ثم نضيف الرقم التالي وهي 8 42928+ 8 = 42936


التحويل من عشري الي الثنائي
---------------
اقسم العدد الي 2 اذا لم يبق باقي من القسمة ناخذ رقم 0
ثم ناخذ ناتج القسمة السابقة ونقسمها الي 2 ايضا ونري اذا كان هناك باقي القسمة ام الا، واذا كان هناك باقي القسمة ناخذ رقم 1 والا ناخذ رقم 0 وهكذا نستمر في القسمة حتي لا يبقي هناك ناتج
مثلا نحول العدد 238 الي مقابله الثنائي
238 / 2 = 119 : 0
119 / 2 = 59 : 1
59 / 2 = 29 : 1
29 / 2 = 14 : 1
14 / 2 = 7 : 0
7 / 2 = 3 : 1
3 / 2 = 1 : 1
1 / 2 = : 1
0 / 2 : 0
= 11101110 لاحظ اننا حذفنا اول صفر وهي لا قيمة لها اصلا ...

التحويل من الثنائي الي العشري
=-----------------------
ناخذ الرقم فى اقسي اليسار وننظر لترتيبها ثم نرفعها
مثلا 10110
2 ^ 4 * 1= 16
2 ^ 3 * 0 = 0
2 ^ 2 * 1 = 4
2 ^ 1 *1 = 2
2 ^ 0 * 0 = 0
= 22

وشكرا

The Hacker
19-03-2002, 02:22 AM
للرفع
شباب هذا الموضوع لمن لم يفهم درس الهكس إديتور في دروس التعريب و شكراً

KInG][Dom
04-04-2002, 11:07 PM
مشكووووووور ولو انو في بعض الاشياء ما فهمتها

Perfect Chaos
06-04-2002, 11:25 PM
الظاهر الشباب ما فهمو القصة ...
رغم انها سهلة جدا ...