تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت محمد (ص) : ز گهواره تا گور دانش بجوی .

آموزش مقدماتی تا پیشرفته سی شارپ بخش هفدهم


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

آموزش مقدماتی تا پیشرفته سی شارپ بخش هفدهم

سلام به همه کاربران وبسایت بزرگ لندلرن

با قسمت ۱۷ آموزش در خدمت شما هستیم.


نمايش مقادير :

بيشتر كامپيوترهاي امروزي ۳۲ بيتي هستند، يعني در هر لحظه ميتوانند با داده هايي به طول  ۳۲ بيت كار كنند .
اعدادي كه در قسمت قبلي ديديد همگي اعداد هشت بيتي بودند .
در يك عدد هشت بيتي حداكثر مقداري را كه مي توان نگهـداري كـرد بـه صـورت زيـر
است :

 ۱۲۸ *۱ + ۶۴*۱ + ۳۲*۱ + ۱۶*۱ + ۸*۱ + ۴*۱ + ۲*۱ + ۱*۱ = ۲۵۶

 

هر عدد ۳۲ بيتي مي تواند مقاديري در محدوده ۲۱۴۷۴۸۳۶۴۷ -تا ۲۱۴۷۴۸۳۶۴۷ را نگهداري كنـد .
حـال اگـر بخواهيـد يـك عـدد صحيح را نگهداري كنيد متغييري را به صورت زير تعريف ميكنيد :

;int intNumber

 

در اينجا، NET .   ۳۲ بيت از حافظه كامپيوتر را براي اين متغيير اختصاص ميدهد كه شما ميتوانيد اعداد
در بازه اي كه گفتـه شـد رادر آن ذ خيره كنيد. اما به خاطر داشته باشيد
كه مقدار حافظه كامپيوتر شما محدود است. براي مثال اگر ۲۵۶ مگابايـت حافظـه داشـته باشد،

ميتوانيد ۶۷۱۰۸۸۶۴ عدد صحيح را در آن نگهداري كنيد . ممكن است زياد به نظر برسـد . امـا بايـد دو نكتـه را در نظـر داشـته باشيد.

اول اينكه بعضي از متغ ييرها كه در فصلهاي بعدي با آنها آشنا ميشويم بسيار بيشتر از يك عدد صحيح فضا اشـغال مـي كننـد .

دوم اينكه به خاطر داشته باشيد حافظه بين همه برنامه ها مشترك است و نبايد آن را هدر بدهيد .

همچنين براي نگهداري يك عدد اعشاري با دقت مضاعف، متغييري به صورت زير تعريف ميكرديد :

;double dblNumber

براي نگهداري يك عدد اعشاري با دقت مضاعف به ۶۴ بيت از حافظه نياز داريد.
يعني ميتوانيد حداكثر ۳۳۵۵۴۴۳۲ عدد اعـشاري بـا دقت مضاعف در حافظه كامپيوتر خود داشته باشيد .

 نكته: اعداد اعشاري با دقت معمولي ۳۲ بيت از حافظه را اشغال مي كنند،
يعني اين اعداد نصف اعداد اعشاري با دقت مضاعف و بـه اندازه ي اعداد صحيح فضا ميگيرند
.

اگر يك متغيير از نوع صحيح تعريف كنيد، چه در آن ۱ را ذخيره كنيد، چه ۲۴۹ و يا ۲۱۴۷۴۸۳۶۴۷ ،
دقيقا ۳۲ بيت از فضاي حافظه را اشغال كرده ايد . اندازه عدد هيچ تاثيري در اندازه فضاي م ورد نياز براي ذخيره آن ندارد .
اين مورد ممكن است هدر رفـتن حافظـه بـه نظر رسد . اما دقت داشته باشيد كه كامپيوتر تصور ميكند اعداد
از نوع يكسان فضاي يكساني براي نگهداري نيـاز دارنـد . در غيـر ايـن صورت،
نميتواند با سرعت قابل قبولي كار كند . حالا به چگونگي تعريف يك رشته نگاه كنيد :

;”string strData = “Hello, World!

بر خلاف اعداد صحيح و اعشاري، رشته ها داراي طول ثابتي نيستند . در رشته ها، هر كاراكتر دو بايت يا ۱۶ بيت از فضاي حافظـه رااشغال ميكند .

بنابراين براي نمايش اين رشته ي ۱۳ كاراكتري، به ۲۶ بايت يا ۲۰۸ بيت فضا در ح افظه نياز داريد
. حافظه كـامپيوتري كه پيشتر مثال زديم حدود دو ميليون كاراكتر را ميتواند نگهداري كند كه نسبت به اعداد صحيح و يا اعداد اعشاري بسيار كمتر است.

اشتباهي كه بيشتر برنامه نويسان تازه كار انجام ميدهند اين است كه كمتر به تاثير نوع ذخيره داده ها در صرفه جويي حافظه فكر ميكنند.

براي نمونه اگر شما يك متغيير براي نگهداري رشته تعريف كنيد و سپس عدد صحيح در آن نگهداري كنيد، مانند زير :

;”string strData = “65536

در اينجا براي نگهداري اين عدد صحيح در قالب رشته، از ۱۰ بايت يا ۸۰ بيت استفاده كرده ايد.
در صورتي كه ميتوانستيد بـا تعريـف اين متغيير از نوع عدد صحيح حافظه كمتري استفاده كنيد.

براي نگهداري اين رشته عددي در حافظه هر كدام از اين كاراكترها بايـد به يك عدد خاص تبديل شوند و سپس در حافظه ذخيره شوند .
براي ذخيره متن در حافظه، بر اساس استانداردي به نام يونيكد ۱ به هر كاراكتر يك كد خاص داده ميشود .
به عبارت ديگر هر كاراكتر يك كد از ۰ تا ۶۵۵۳۵ دارد و براي ذخيره آن كـاراكتر در حافظـه،
كـد معادل آن ذخيره مي شود . در زير كد مربوط به هر كاراكتر را در رشته بالا آورده ايم :

  • “۶ “يونيكد ۵۴ كه كد باينري معادل آن برابر ۰۰۰۰۰۰۰۰۰۰۱۱۰۱۱۰ است.
  • “۵ “يونيكد ۵۳ كه كد باينري معادل آن برابر ۰۰۰۰۰۰۰۰۰۰۱۱۰۱۰۱ است.
  • “۵ “يونيكد ۵۳ كه كد باينري معادل آن برابر ۰۰۰۰۰۰۰۰۰۰۱۱۰۱۰۱ است.
  • “۳ “يونيكد ۵۱ كه كد باينري معادل آن برابر ۰۰۰۰۰۰۰۰۰۰۱۱۰۰۱۱ است.
  • “۶ “يونيكد ۵۴ كه كد باينري معادل آن برابر ۰۰۰۰۰۰۰۰۰۰۱۱۰۱۱۰ است.

هر كدام از اين كدها براي ذخيره شدن به دو بايت فضا نياز دارند . پس براي ذخيره ۵ رقم
در قالب رشته به ۸۰ بيت فضا نيـاز داريـم . براي ذخيره عدد بالا بايد متغيير را به صورت زير تعريف كنيم :

;int intNumber = 65536

مقدار اين متغيير به صورت يك عدد در قالب باينري در حافظه ذخيره ميشود و از آنجا كه هر عدد صحيح ۳۲ بيت فضا را اشغال مـي كند،
اين عدد هم ۳۲ بيت فضا در حافظه اشغال ميكند كه بسيار كمتر از ۸۰ بيت اشغال شده به وسيله رشته است .

پایان قسمت ۱۷

با قسمت ۱۸ همراه باشید.


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ