Восьмеричная запись десятичного беззнакового числа 255 в языке си примет вид

Обновлено: 02.05.2024

1. АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ОПЕРАЦИИ

1.1. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

Основными арифметическими операциями являются: сложение (‘+’), вычитание (‘-‘), умножение (‘*’) и деление (‘/’). Порядок выполнения операций в выражении соответствует их приоритету. Операции с одинаковым приоритетом в выражении выполняются слева направо.

Операция деления (‘/’) выполняется согласно типу ее операндов. Если оба операнда являются целыми числами, то деление будет целочисленным. Если один из операндов является вещественным, то и результат будет вещественным. Например, пусть переменная x имеет целочисленный тип, а y действительный тип. Следующая таблица демонстрирует результаты деления для различных операндов:

Рассмотрим второй пример. При выполнении операции присваивания значения выражения переменной, сначала вычисляется значение выражения, а потом оно присваивается переменной. Поскольку операнды во втором примере являются целыми, то результатом деления 7 / 3 будет 2. Потом целочисленное значение 2 преобразовывается в действительное значение 2.000000 и присваивается действительной переменной y.

В четвертом примере перед выполнением операции деления происходит преобразование типа делимого из целого в вещественный. Поэтому деление будет производиться без потери точности.

Пример 1.1.1. Найти среднее арифметическое двух целых чисел a и b.

Результатом вычисления выражения (a + b) / 2 может быть действительное число. Поэтому деление должно выполняться с сохранением точности. А для этого один из операндов необходимо преобразовать в действительный тип. Например, результат можно вычислить так: res = (a + b) / 2.0. Программа имеет вид:

Операция вычисления остатка в Си обозначается символом ‘%’. При этом остаток при делении отрицательного числа на положительное является отрицательным (хотя математически остаток при делении на число n должен лежать в промежутке от 0 до n – 1 включительно).

В языке Си при выполнении операций возможны синтаксические сокращения. Например, вместо i = i + 1 можно писать i++. Если <op> – некоторая бинарная операция, то вместо i = i <op>a можно писать i <op>= a. Примеры сокращений приведены ниже в таблице:

Упражнение 1.1.1. Имеются одинаковые коробки, каждая из которых вмещает m шаров. Сколько коробок требуется для упаковки n шаров?

Упражнение 1.1.2. Рассмотрим условие предыдущей задачи. Сколько коробок будут полностью заполнены, если всего имеется n шаров, а каждая коробка вмещает m шаров?

Упражнение 1.1.3. Пусть n – трехзначное число. Присвоить переменным a , b , c соответственно количество сотен, десятков и единиц числа n .

1.2. ЛОГИЧЕСКИЕ ОПЕРАЦИИ

Среди логических операций следует выделить операции ‘и’ (‘and’), ‘или’ (‘or‘), отрицание ‘не’ (‘not’) и сложение по модулю 2 (‘xor’). В языке Си логические операции обозначаются следующим образом:

например есть префикс 0x который говорит что число десятичное
то есть Console.Write(0xFFFE); выведет десятичное 65534 а не FFFE
а мне нужен восьмеричный префикс и надо будет потом это число перевести в двоичную (ну я так понимаю с помощью Convert.ToString(число, 2))

Голосование за лучший ответ

0х говорит, что число шестнадцатиричное, а не десятичное. Восьмеричный префикс - просто 0. Например, 0123 - число в восьмеричной системе.

1. Основаниями этих систем счисления являются соответственно числа 10, 2, 8, 16. При записи чисел в десятичной системе используются цифры от 0 до 9; в двоичной системе любое число записывается в виде последовательности 0 и 1; в восьмеричной системе для записи чисел используются цифры от 0 до 7; в шестнадцатеричной системе числа можно записывать 16-ю символами - цифрами от 0 до 9 и латинскими буквами от А до F;
2. Основаниями этих систем счисления являются соответственно числа 10, 2, 8, 16. При записи чисел в десятичной системе используются цифры от 0 до 10; в двоичной системе любое число записывается в виде последовательности 0 и 1; в восьмеричной системе для записи чисел используются цифры от 0 до 8; в шестнадцатеричной системе числа можно записывать цифрами от 0 до 16.
3. Основаниями этих систем счисления являются соответственно числа 10, 2, 8, 16. При записи чисел в десятичной системе используются цифры от 0 до 8; в двоичной системе любое число записывается в виде последовательности 0 и 1; в восьмеричной системе для записи чисел используются цифры от 0 до 10; в шестнадцатеричной системе числа можно записывать цифрами от 0 до 16.
4. Основаниями этих систем счисления являются соответственно числа 10, 2, 8, 16. При записи чисел в десятичной системе используются цифры от 0 до 9; в двоичной системе любое число записывается в виде последовательности 0 и 1; в восьмеричной системе для записи чисел используются цифры от 0 до 8; в шестнадцатеричной системе числа можно записывать цифрами от 0 до 17. В вычислительной технике используется только десятичная система счисления.
5. Основаниями этих систем счисления являются соответственно числа 10, 2, 8, 16. При записи чисел в десятичной системе используются цифры от 0 до 9; в двоичной системе любое число записывается в виде последовательности 0 и 1; в восьмеричной системе для записи чисел используются цифры от 0 до 8; в шестнадцатеричной системе числа можно записывать цифрами от 0 до 16.

Константа — это ограниченная последовательность символов алфавита языка, представляющая собой изображение фиксированного (неизменяемого) объекта.

Константы бывают числовые, символьные и строковые. Числовые константы делятся на целочисленные и вещественные.

Целочисленные константы

Целочисленные данные в языке Си могут быть представлены в одной из следующих систем счисления:


Двоичная система представления данных непосредственно в языке Си не поддерживается. Однако можно воспользоваться файлом binary.h, в котором определены двоичные константы в пределах байта.

Пример использования двоичной системы счисления в языке Си:

1
2
3
4
5
6
7
8
9

Двоичная система счисления в Си

Результат выполнения

В зависимости от значения целой константы компилятор присваивает ей тот или иной тип ( char , int , long int ).

С помощью суффикса U (или u ) можно представить целую константу в виде беззнакового целого.

Например, Константе 200U выделяется 1 байт, и старший бит используется для представления одного из разрядов кода числа и диапазон значений становится от 0 до 255 . Суффикс L (или l ) позволяет выделить целой константе 8 байт ( long int ).

Совместное использование в любом порядке суффиксов U (или u ) и L (или l ) позволяет приписать целой константе тип unsigned long int , и она займет в памяти 64 разряда, причем знаковый разряд будет использоваться для представления разряда кода (а не знака).

Вещественные константы

Константа с плавающей точкой (вещественная константа) всегда представляется числом с плавающей точкой двойной точности, т. е. как имеющая тип double , и состоит из следующих частей:

Любая часть (но не обе сразу) из нижеследующих пар может быть опущена:

  • целая или дробная часть;
  • точка или символ е ( Е ) и экспонента в виде целой константы.

Примеры вещественных констант

По умолчанию компилятор присваивает вещественному числу тип double . Если программиста не устраивает тип, который компилятор приписывает константе, то тип можно явно указать в записи константы с помощью следующих суффиксов:

  • F (или f ) — float для простых вещественных констант,
  • L (или l ) — long double для вещественных констант двойной расширенной точности.
  • 3.14159F — константа типа float , занимающая 4 байта;
  • 3.14L — константа типа long double , занимающая 10 байт.

Символьные константы

Все символьные константы имеют тип char и занимают в памяти 1 байт. Значением символьной константы является числовое значение её внутреннего кода.

Строковые константы

Строковая константа — это последовательность символов, заключенная в кавычки, например:

Кавычки не входят в строку, а лишь ограничивают её. Технически строковая константа представляет собой массив символов, и по этому признаку может быть отнесена к разряду сложных объектов языка Си.

Поскольку строковая константа состоит из символов, то она имеет тип char . Количество ячеек памяти, необходимое для хранения строковой константы на 1 больше количества символов в ней (1 байт используется для хранения нуль-символа).

Переменные

Переменная — идентификатор, представляющий собой изображение изменяемого объекта. C технической точки зрения, переменная — это область памяти, в которую могут помещаться различные значения.

Любая переменная до ее использования в программе на языке Си должна быть объявлена, то есть для нее должны быть указаны тип и имя (идентификатор).

Объявление переменных в Си осуществляется в форме

ТипПеременной ИмяПеременной;

Каждую переменную можно снабдить комментарием, поясняющим ее смысл. Например,

int i; // счетчик циклов

Если в программе требуется несколько переменных одного типа, то они могут быть объявлены в одной строке через запятую. Например,

int i, n;

При объявлении переменной ей может быть присвоено начальное значение в форме
ТипПеременной ИмяПеременной=значение;

Читайте также: