PDA

View Full Version : داده char



amirreyhaneh
یک شنبه 19 مهر 1388, 11:00 صبح
با سلام
یک سوال ساده
نوع داده char در c++تا 128- را در خود ذخیره می کند.128- به چه صورت در یک بایت ذخیره می شود.مگر از این 8 بیت یک بیت مال بیت علامت نیست؟
با تشکر

ali zi zeperto
یک شنبه 19 مهر 1388, 12:15 عصر
با سلام
یک سوال ساده
نوع داده char در C++‎تا 128- را در خود ذخیره می کند.128- به چه صورت در یک بایت ذخیره می شود.مگر از این 8 بیت یک بیت مال بیت علامت نیست؟
با تشکر
خوب ۲ به نمای ۷ میشه ۱۲۸ دیگه.

amirreyhaneh
یک شنبه 19 مهر 1388, 13:41 عصر
سلام دوست عزیز
درسته 2 به نمای 7 می شود 128 ولی این 128 تعداد اعدادی است که می شود با 7 بیت نمایش داد(اعداد 0 تا 127 که می شود 128)ولی خود عدد 128- را چه جوری می توان نمایش داد؟

hashashas
یک شنبه 19 مهر 1388, 14:35 عصر
اعداد علامت دار در كامپيوتر به شيوه مكمل دو ذخيره ميشه، براي پيدا كردن اينكه معادل ده دهي يه عدد علامت دار كه در مبناي دو هست، اول نگاه مي كني ببيني عدد منفي هست يا مثبت(چك كردن بيت علامت).اگه منفي بود يعني بيت علامت يك بود پرارزش ترين بيت رو منفي در نظر ميگيري و با ارزش بقيه بيت ها جمع مي كني.
مثلا 10101 ميشه 11- =1+ 4+ 16- و بنابراين 10000000 ميشه 128-

حامد مصافی
دوشنبه 20 مهر 1388, 10:53 صبح
در یک قانون کلی بیت علامت تفاضل محدوده یک متغیر را محدود نمی کند.
unsigned char محدوده از 0 تا 255 را پوشش می دهد.
char از -128 تا 127 را پوشش می دهد.
در نتیجه تفاضل محدوده هر دو 256 (به افزودن یک به حاصل تفریق) خواهد بود.