Восьмеричная запись десятичного беззнакового числа 255 в языке си примет вид
Обновлено: 27.11.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, в котором определены двоичные константы в пределах байта.
Пример использования двоичной системы счисления в языке Си:
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 технической точки зрения, переменная — это область памяти, в которую могут помещаться различные значения.
Любая переменная до ее использования в программе на языке Си должна быть объявлена, то есть для нее должны быть указаны тип и имя (идентификатор).
Объявление переменных в Си осуществляется в форме
ТипПеременной ИмяПеременной;
Каждую переменную можно снабдить комментарием, поясняющим ее смысл. Например,
Если в программе требуется несколько переменных одного типа, то они могут быть объявлены в одной строке через запятую. Например,
При объявлении переменной ей может быть присвоено начальное значение в форме
ТипПеременной ИмяПеременной=значение;
Читайте также: