بوابة الثانوية العامة المصرية

بوابة الثانوية العامة المصرية (https://www.thanwya.com/vb/index.php)
-   أرشيف المنتدى (https://www.thanwya.com/vb/forumdisplay.php?f=513)
-   -   ليتفضل الاساتذة الكرام فى حل هذا السؤال (https://www.thanwya.com/vb/showthread.php?t=295835)

وجيه أمين محمد 09-03-2011 05:35 PM

ليتفضل الاساتذة الكرام فى حل هذا السؤال
 
من المعروف ان المتغير من نوع char يقوم بتخزين حرف أو رقم واحد فقط وكل حرف أو رقم يتم تمثيله فى خلية واحدة اى 1Byte
وعند الاعلان عن متغير من نوع char فإنه يقوم بحجز خليتين من الذاكرة اى 2Byte
فما هذا التناقض ؟ أرجو التفسير

hamrag 16-03-2011 01:58 AM

أخي العزيز ربما يكون هناك لبس ين المتغير Byte , و المتغير char
المتغير Byte يتم تخزين حرف أبجدي أو رقم من 127 الي -128 و هذا يلزم له حجز واحد بايت في الذاكرة
بينما المتغير char فيتم تخزين حرف من حروف الترميز الUNICODE و لذلك يلزم لها حجز 2 بايت في الذاكرة و هنا يتضح الفرق بين المتغييرن .
أرجو ان اكون قد وفقت في توضيح الفرق بين النوعين .
و لك كل الشكر و العرفان ................ مع تحياتي.

alimma 16-03-2011 09:10 AM

مازال اللبث قائم لان
البيان من نوع ( BYTE ) بيان رقمى للارقام الصحيحة من ( 0 الى 255 ) و حجمه خلية واحدة اى 1 Byte فى الذاكرة

اما البيان CHAR فهو بيان حرفى او نصى حجمه خليتان فى الذاكرة اى ( 2 BYTE ) فما المقصود ب ( Unicode charcter)
مع تحياتى

hamrag 17-03-2011 09:37 PM

عزيزي Alimm تحياتي لك :
بالنسبة للنوع byte يأخذ أعداد من 0 الي 255 بينمكات لكن قيمك هذه الاعداد من -128 الي 127
Unicode مثل ASCII، هو جدول يربط أغلب الأرقام و الحروف و الرموز الموجودة في لغات العالم بقيم عددية من 2 بايت (16 بت)، مما يعطيه إمكانية التعبير عن 65,563 محرفاً. يدعم في جميع أنظمة التشغيل المعتمدة تقنية NT، مثل WinXP، Win2000، WinNT و يتم تخزينه في المتغير من النوعChar.
مع تحياتي


جميع الأوقات بتوقيت GMT +2. الساعة الآن 03:36 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.