الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشاكلى مه الهيكساديسمل و ال unsigned

بدأه XMasterrrr في 1 يوليو 2010 · 38 رد · 1,924 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

الحمدلله بدأت من فترة بكتاب beginning Visual c++ 2008

و لكن فجأة جاء ليشرح ال Character Data Types

و وقفت امامى بعض الاشياء

فمثلا هل اقدر ان اكتب unsigned long

لكى اقدر على اكبر رقم ؟

ام استخدم long

ام signed long

ثم اتت لى مشكلة اخرى فى نفس الصفحة و هذا ما بدء يعكر صفوى

فأنا لا ادرى بأى شئ فى الهيكاديسمل او البينارى

فأنا 14 سنة

و لنقل اننى اكره الرياضيات و اتذكر منها سوى الجمع و الطرح

فأتت الى القطعة التى تتكلم عن ال wchar_t و هى اصعب منطقة حتى الأن الى

اقتباس

You can also use hexadecimal constants to initialize char variables (and other integer types), and it is

obviously going to be easier to use this notation when character codes are available as hexadecimal values.

A hexadecimal number is written using the standard representation for hexadecimal digits: 0 to 9,

and A to F (or a to f) for digits with values from 10 to 15. It’s also preceded by 0x (or 0X) to distinguish it

from a decimal value. Thus, to get exactly the same result again, you could rewrite the last statement as

follows:

wchar_t letter(0x5A); // A variable storing a 16-bit character code

ما اريد فهمه هنا ما هو الهيكسا ديسمل مع الشرح و انا اسف على هذا لكن اريد ان افهم لأننى احببت اللغة جدا

اخير شئ اريد فهمه

ما هو ال bit character مثلا

16 bit character

و ما هو ال byte الذى نقوم بحسابه لكى نعرف ما حجم الانتجر الذى نكتبه

اسف على التطويل

تم تعديل هذه المشاركة بواسطة XMasterrrr في 1 يوليو 2010 في 15:00

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#2

أنت يا أخي تحتاج أن تقرأ عن أساسيات بنية الحاسب قبل البرمجه:

شوف هذا الرابط

http://www.angelfire.com/ultra2/waleed/wiwi.htm

1
#3

+1 بشده على ما يقول الأخ هويدى.

لابد منك ان تقرأ و لو نبذه بسيطه عن بينية الحاسب حتى تفهم معنى ما تقرأ.

اقتباس
و لنقل اننى اكره الرياضيات و اتذكر منها سوى الجمع و الطرح

عمرك 14 سنه و تكره الرياضيات، لا حول ولا قوة إلا بالله. إعلم أن الرياضيات هى اساس كل شئ فلا تضع بفكرك انها صعبه او معقده لإنها اشبه بلعبة الـ Puzzle تحتاج منك إلى ممارسه و فهم لكل جزء منها حتى تستطيع ان تجمع العناصر معا لتصنع فى النهايه لوحه ذات شكل بديع، و مقدار جمال اللوحه الناتجه يعتمد منك على فهمك لأجزائها.

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#4

اعذروني، لم تكن ردودكم موجودة وأنا أكتب ردي

تم تعديل هذه المشاركة بواسطة Abboodd في 1 يوليو 2010 في 17:11

هذه الجملة خاطئة  :wacko: 


#5

شكرا اخويا لكن اريد الان شرح للهيكا ديسمل هل من الممكن احضاره الى ؟

هل يجب علي فيهم البينارى ؟

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#6

شباب وين الردود :) ؟؟؟؟؟؟؟؟؟

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#8

شكرا لك اخى سرعة الضوء

لكن هذا الكتاب بالنسبة الى بعد قرائته معقد بعض الشئ و لم افهم الا القليل

اريد شرح سهل بالله عليكم شباب

معلش استحملونى لكننى اريد ان اكون قوى فى البرمجة و ببداء بالسى++

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#10

بصراحة اخى ليس فيه شئ جديد شكرا لك و انا اعلم اننى تعبتكم معى

جزاكم الله خيرا على مساعدتى :)

منتظركم

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#11

?????????????????????????????????????????//

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#12

شباب كل ما اريد فهمه الأن هو لماذا يقول لى long بتساوى 4 بيت ؟؟؟؟؟ و يقولى عدد

–2,147,483,648

to

2,147,483,647

و يأتى فى short يقول لى 2 بيت و برضك عدد كذة الى كذة

هذى هى المسألة التى توقفنى الأن بعد فهم الهيكسا ديسمل

ما الفرق

بالله عليكم اجيبونى

اريد ان اكمل فى بحر التعليم

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#14

اقسم بالله كنت اتصفحه قبل ردك هذا و استفدت منه كثيرا

لكن يوجد شئ ياضيقنى

فهمت الكثير لكن

عرفت انه عند استعمال ال Int يحول نفسه تلقائيا لما عليه النظام

اذا

فأنا و لنقول اريد برمجة برنامج لكل الانظمى 2 بيت 4 بيت 8 بيت ؟

كيف افعل ذلك

ام انه يفعلها تلقائيا

______

هل يمكن الاستغناء عن كل الانواع و استخدان Int فقط

__________

ما هى الارقام التى يضعنى بينها على سبيل المثال

–2,147,483,648

to

2,147,483,647

هل هذا يجعلنى اقدر على استخدام كل هذه الارقام ام ان هذا شئ اخر ؟؟؟؟؟؟؟؟

________________

فى ال char , wchar_t

فى ال char

يقول لى 1 بيت

كيف هذا

و فى ال wchar_t

يقول لى 2 بيت

____________

اسف لتعبك معى اخى

جزاك الله كل خير

لن انساك فى الدعاء

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#15

منتظرك سيدى :)

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#16

إن أردت فهم ااـ Hexadecimal يجب عليك دراسة بنية الحاسبو الأسمبلي

و إعلم أن الـ Hexadecimal تدخل في بنية ملفات PE ، لذلك وجب دراسة الأسمبلي + هندسة الحواسيب + لغة الويندوز Win32 API لفهم كامل و شامل .

و هذا مالايمكنك القيام به حاليا لأنه يلزم مستوى عالي قليلا .

خذ مفهوم خارجي عن الـ Hexadecimal و هو نظام سداسي عشري ، يعني نحن نعمل بالنظام العشري décimal و هو كالآتي :

0

1

2

3

4

5

6

7

8

9

و هنا نضع الرقم 1 على اليسار و نعيد المرور ثم نضع 2 .... المهم أنت تفهم :happy:

و النظام السداسي العشري يحوي 16 رمزا و ليس 10 مثل النظام العشري

0

1

2

3

4

5

6

7

8

9

a

b

c

d

e

f

نفس الأمر ، أي عندما نصل إلى الأمر 10 في الهيكس سيساوي 16 في النظام العشري .

هنا و تجاوز هذا الأمر و عندما يحين الوقت ستتعمق أكثر بإذن الله .

++

كيف تكره الرياضيات في هذه المرحلة أخي ؟

كل شيء مبني على الرياضيات في الحاسب :lol:

لاتيأس أبدا مادمت تسعى إلى النجاح .

#17

لنقول لا اكره لكننى لست جيدا فيه و شكرا لشرحك فهو افهمنى الهيكساديسمل

الذى ينقصنى الأن هو

اقتباس
فهمت الكثير لكن

عرفت انه عند استعمال ال Int يحول نفسه تلقائيا لما عليه النظام

اذا

فأنا و لنقول اريد برمجة برنامج لكل الانظمى 2 بيت 4 بيت 8 بيت ؟

كيف افعل ذلك

ام انه يفعلها تلقائيا

______

هل يمكن الاستغناء عن كل الانواع و استخدان Int فقط

__________

ما هى الارقام التى يضعنى بينها على سبيل المثال

–2,147,483,648

to

2,147,483,647

هل هذا يجعلنى اقدر على استخدام كل هذه الارقام ام ان هذا شئ اخر ؟؟؟؟؟؟؟؟

________________

فى ال char , wchar_t

فى ال char

يقول لى 1 بيت

كيف هذا

و فى ال wchar_t

يقول لى 2 بيت

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#18

سأجيب على بعض أسئتك .. في انتظار رد الأستاذ علاء :)

اقتباس
عرفت انه عند استعمال ال Int يحول نفسه تلقائيا لما عليه النظام

كلام غير دقيق ! حجم int لا يعتمد على النظام فحسب بل يعتمد أيضا على الكومبايلر , انظر إلى كلام الأستاذ علاء:

اقتباس
الجهاز هو 32 بت لذا النوع int بشكل أفتراضى سيحجز مساحة 4 بايت، بعدها اللغه تركت لصانع المترجم الحريه
اقتباس
اريد برمجة برنامج لكل الانظمى 2 بيت 4 بيت 8 بيت ؟

كيف افعل ذلك

ام انه يفعلها تلقائيا

ماذا تقصد ببرمجة برنامج !؟

اقتباس
هل يمكن الاستغناء عن كل الانواع و استخدان Int فقط

هذا يعتمد على حاجتك إلى المتغيرات التي تريد استعمالها.

اقتباس
هل هذا يجعلنى اقدر على استخدام كل هذه الارقام ام ان هذا شئ اخر ؟

يمكنك استخدام أي عدد محصور في المجال المذكور.

بانتظار إجابة الأستاذ علاء :)

#19

انا اقصد برمجة اى شئ لنقل و ذلط بالفعل ساركز على برمجة الالعاب و لكن اريدها ان تعمل على كل الانواع من البتات 2 و 4 و اخيرا 8

اقصد بالاسغناء عن الكل و استخدام Int فأنا اقصد الاستغنا عن long ,short فقط و استخدام int

استخدام اى عدد محصور بين كل هذه الارقام هل هذا اكيد ؟

فى انتظار اجاباتك و اجابات الاستاذ علاء

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#20
اقتباس
اقصد بالاسغناء عن الكل و استخدام Int فأنا اقصد الاستغنا عن long ,short فقط و استخدام int

شوف يا أخي .. قضية الإستغناء عن نوع معين من المتغيرات تعتمد أساسا على حاجتك كمبرمج.

فلنفرض أنك تريد حساب مضروب عدد معين .. الآن أصبح short لا يكفي لأداء المطلوب لأن قيمته العظمى هي 32767 و

 8!=40320

لذلك أصبح short لا يصلح إلا لحساب مضروب الأعداد المحصورة بين 0 و 7 , الآن وجب علينا التفكير في نوع أعلى و ليكن long.

لنفرض أنك ستتعامل مع أعداد ضخمة جدا جدا .. إذن long لم يعد يكفي لذلك سنفكر في استخدام نوع أعلى و ليكن long long و هكذا .. يعني في كل مرة ندرس المشكلة التى تواجهنا و نختار النوع الأنسب.

إذا كخلاصة للقول:

لا يمكن الإستغناء عن أي نوع معين من أنواع المتغيرات فلكل مقام مقال و لكل مشكلة نوع معين من المتغيرات يناسبها و يؤدي المطلوب.

اقتباس
استخدام اى عدد محصور بين كل هذه الارقام هل هذا اكيد ؟

طبعا يا أخي الكريم.

إذا كنت تستخدم short فإن القيمة العظمى هي 32767 و القيمة الصغرى هي 32768 و هذا يعني أن أي متغير short يمكنه تخزين قيمة محصورة بين القيمة العظمى و الصغرى أما إذا كانت القيمة أقل من القيمة الصغرى أو أكبر من اقيمة العظمى فستحدث ظاهر الفيض.

في انتظار إجابات الأستاذ علاء.

بالتوفيق.

تم تعديل هذه المشاركة بواسطة أحمد المتألق في 4 يوليو 2010 في 02:50

#21

لحظة لحظة هلى short تعنى ان الرقم بين 0 و 7 فقط ؟؟؟ اذا فكيف احسب ذلك

فى انتظار ردك

و رد الاستاذ علاء

−1

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#22

السلام عليكم

أخ XMasterrrr ممكن توضح ايه السؤال بالظبط علشان انا شايف انواع مختلفه من الأسئله و لا اعرف ايهم ما تريد اجابته، حدد السؤال بدقه لتحصل على اجابه دقيقه.

و الله ولي التوفيق

مدونتي: C++ Tips and Tricks

#23
اقتباس
لحظة لحظة هلى short تعنى ان الرقم بين 0 و 7 فقط ؟

و من قال ذلك !؟ :mad:

قلتُ أن:

0!=1
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
7!=5040

و هذه القيم تقع ضمن نطاق short أما قيمة مضروب 8 فتساوي:

8!=40320

و هذا يعني أنها خارج نطاق short أي أن مضروب 8 لا يُمكن تخزينه في متغير short مما يستلزم علينا استخدام نوع أعلى و ليكن long

اقتباس
أخ XMasterrrr ممكن توضح ايه السؤال بالظبط علشان انا شايف انواع مختلفه من الأسئله و لا اعرف ايهم ما تريد اجابته، حدد السؤال بدقه لتحصل على اجابه دقيقه.

أرجوا منك الإجابة على الأسئلة التالية حتى نستفيد:

اقتباس
عرفت انه عند استعمال ال Int يحول نفسه تلقائيا لما عليه النظام

اذا

فأنا و لنقول اريد برمجة برنامج لكل الانظمى 2 بيت 4 بيت 8 بيت ؟

كيف افعل ذلك

ام انه يفعلها تلقائيا

______

هل يمكن الاستغناء عن كل الانواع و استخدان Int فقط

__________

ما هى الارقام التى يضعنى بينها على سبيل المثال

–2,147,483,648

to

2,147,483,647

هل هذا يجعلنى اقدر على استخدام كل هذه الارقام ام ان هذا شئ اخر ؟؟؟؟؟؟؟؟

________________

فى ال char , wchar_t

فى ال char

يقول لى 1 بيت

كيف هذا

و فى ال wchar_t

يقول لى 2 بيت

بالتوفيق.

تم تعديل هذه المشاركة بواسطة أحمد المتألق في 4 يوليو 2010 في 02:53

#24

اه شكرا لك استاذ احمد المتألق جزيت خيرا يا سيدى :)

اسألتى هى

عرفت انه عند استعمال ال Int يحول نفسه تلقائيا لما عليه النظام

اذا مثل فى نظام 16 بت يحول int ل 16 بت و فى نسخة 32 يحول نفسه ل 32 و فى نسخة 64 يحول نفسه 64 على حسب الجهاز الذى اعمل عليه تمام ؟.

فأنا و لنقول اريد برمجة برنامج مثل الفوتوشوب لكل الانظمى 16 بت و 32 بت و 64 بت كيف افعل ذلك فى نفس الوقت بستخدام ماذا اذا كانت int تتحول تلقائيا للنظام الذى اعمل عليه ؟

كيف افعل ذلك

ام انه يفعلها تلقائيا

______

هل يمكن الاستغناء عن كل الانواع التى هى short,long, و استخدام Int فقط

__________

ما هى الارقام التى يضعنى بينها على سبيل المثال

–2,147,483,648

to

2,147,483,647

هل هذا يجعلنى اقدر على استخدام كل هذه الارقام ام ان هذا شئ اخر ؟؟؟؟؟؟؟؟

________________

فى ال char , wchar_t

فى ال char

يقول لى 1 بيت

كيف هذا

و فى ال wchar_t

يقول لى 2 بيت

كيف يكونوا بالحجم هذا ؟؟؟؟

و النظام الذى اعمل عليه هو 32 بيت

و ما فائدتهم من الاساس

تم تعديل هذه المشاركة بواسطة XMasterrrr في 5 يوليو 2010 في 03:19

.Everyone has a dream

.I never thought that I would be the one I am on now

...No Pain No Gain

مشرف قسم السى/سى++ و الاسيمبلى سنة 2015 بأذن الله ...

تعديل: مشرف قسم السى/سى++ من 2012.

#25

سأجيب عن بعض أسئلتك و أريد من الأستاذ علاء أن يصحح لي إذا كان هناك خطأ :)

اقتباس
هل يمكن الاستغناء عن كل الانواع التى هى short,long, و استخدام Int فقط

قضية الإستغناء عن نوع معين من المتغيرات تعتمد أساسا على حاجتك كمبرمج.

فلنفرض أنك تريد حساب مضروب عدد معين :

0!=1
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
7!=5040

و هذه القيم تقع ضمن نطاق short أما قيمة مضروب 8 فتساوي:

8!=40320

لاحظ أن قيمة مضروب 8 أكبر من القيمة العظمى لـ short و هذا يعني أنها خارج نطاقه أي أن مضروب 8 لا يُمكن تخزينه في متغير short , لذلك أصبح هذا النوع لا يصلح إلا لحساب مضروب الأعداد المحصورة بين 0 و 7 , مما يستلزم علينا استخدام نوع أعلى و ليكن long

لنفرض أنك ستتعامل مع أعداد ضخمة جدا جدا .. إذن long لم يعد يكفي لذلك سنفكر في استخدام نوع أعلى و ليكن long long و هكذا .. يعني في كل مرة ندرس المشكلة التى تواجهنا و نختار النوع الأنسب.

إذا كخلاصة للقول:

لا يمكن الإستغناء عن أي نوع معين من أنواع المتغيرات فلكل مقام مقال و لكل مشكلة نوع معين من المتغيرات يناسبها و يؤدي المطلوب.

اقتباس
ما هى الارقام التى يضعنى بينها على سبيل المثال

–2,147,483,648

to

2,147,483,647

هل هذا يجعلنى اقدر على استخدام كل هذه الارقام ام ان هذا شئ اخر ؟؟؟؟؟؟؟؟

يمكنك استخدام أي عدد محصور في المجال المذكور.

مثلا .. إذا كنت تستخدم short فإن القيمة العظمى هي 32767 و القيمة الصغرى هي 32768- و هذا يعني أن أي متغير short يمكنه تخزين قيمة محصورة بين القيمة العظمى و الصغرى أما إذا كانت القيمة أقل من القيمة الصغرى أو أكبر من اقيمة العظمى فستحدث ظاهر الفيض أو ما يُعرف بـ overflow .

بانتظار تصحيح الأستاذ علاء :)

مواضيع مشابهة