Перевести страницу

Создание приложений для науки и производства ещё не было таким простым

Беззнаковое целое число (uint)

Имя типа uint. Принимает значение от 0 до максимально допустимого беззнакового целого числа для данной конкретной реализации Ci, в зависимости от платформы и используемого компилятора C. Беззнаковые целые надо использовать для хранения тех величин, которые являются целочисленными, и не могут быть отрицательными. Например, это данные, показывающие количество объектов, либо представляющие номера объектов, включая индексы элементов массивов. Для процессора семейства IA32 применяется 32-х разрядное представление беззнаковых целых, что дает максимальное число 4294967296. Начальное значение переменной: 0.


Данные типа uint являются Ci-реализацией данных типа unsigned int языка C и для них выполняются все те же правила. Они могут быть преобразованы в строку (строчное представление числа), а также в знаковое или вещественное число с округлением значения, если оно оказалось больше максимально возможного числа (аналогично таковому в языке C). При преобразовании в знаковое целое производится округление до максимально возможного знакового целого числа, при преобразовании в вещественное – до вещественного эквивалента максимально возможного целого. То есть, операции

    uint a 4294967296; int b = a; float c = a;

на выходе дадут: b == 2147483647 (максимально возможное знаковое целое на IA32), c == 2.147483E9 (что эквивалентно 2147483647.0). Очевидно, происходит потеря значения, о чем необходимо помнить прикладному программисту.


Беззнаковые целые преобразуются в логические по следующему правилу – если число равно 0, то результат преобразования FALSE. Если число больше 0, то результат преобразования TRUE;

    bool a; uint b 10;

    a = b;

    puts a; ``напечатает TRUE.