C++ за 21 день седьмое издание


Произойдет переполнение (wrapping). Декремент значения 0 беззнаковой целочислен­



Download 1,38 Mb.
bet49/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   45   46   47   48   49   50   51   52   ...   437
Bog'liq
word1

Произойдет переполнение (wrapping). Декремент значения 0 беззнаковой целочислен­


ной переменной на 1 превратит его в самое высокое значение, которое она способна содержать! Посмотрите табл. 3.1 и убедитесь, что переменная типа u n s ig n e d s h o r t способна содержать значения от 0 до 65535. Итак, объявим переменную типа u n s ig n e d s h o r t, осуществим декремент и увидим нечто неожиданное:



unsigned short MyShortlnt

=0;

// Исходное

значение

MyShortlnt = MyShortlnt

- 1;

// Декремент

на 1

std::cout << MyShortlnt

«

std::endl;

// Вывод: 65535!

Обратите внимание: это проблема не типа u n s ig n e d

s h o r t, а вашего способа ее при­



менения. Целочисленный тип без знака (короткий или длинный) не должен использо­ ваться там, где ожидается наличие отрицательных значений. Если содержимое перемен­ ной M y S h o rtln t должно использоваться для количества динамически резервируемых

70 ЗАНЯТИЕ 3. Использование переменных, объявление констант




байтов, то небольшая ошибка, допустившая декремент нулевого значения, привела бы к резервированию 64 Кбайт! Хуже того, если бы переменная M yShortlnt использовалась как индекс при доступе к областям памяти, ваше приложение, вероятней всего, обрати­ лось бы к внешней области памяти и потерпело неудачу!


Коллоквиум



  1. этом разделе предлагаются вопросы для самоконтроля и закрепления полученных знаний, а также упражнения, которые помогут применить на практике полученные навы­ ки. Попытайтесь самостоятельно ответить на эти вопросы и выполнить задания, а потом сверьте полученные результаты с ответами в приложении Г, “Ответы”. Если остались не­ ясными хотя бы некоторые из предложенных ниже вопросов, не приступайте к изучению материала следующего занятия.



Контрольные вопросы



  1. В чем разница между знаковым и беззнаковым целым числом?




  1. Почему не стоит использовать директиву #def in e при объявлении константы?




  1. Зачем инициализировать переменную?




  1. Рассмотрите перечисление ниже. Каково значение константы QUEEN? enum Y0URCARDS {АСЕ, JACK, QUEEN, KING};




  1. Что не так с именем этой переменной?




Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   45   46   47   48   49   50   51   52   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish