Как найти mod выражения

Модулярная арифметика

Калькулятор выполняет арифметические операции по заданному модулю.

Калькулятор решает заданное математическое выражение по модулю с отображением пошагового решения. Можно просто ввести целое число — калькулятор вычислит его остаток от деления по модулю. Также можно использовать следующие операции:

  • + сложение по модулю
  • вычитание по модулю
  • * умножение по модулю
  • / деление по модулю ( операция доступна для всех чисел только тогда, когда модуль — простое число )
  • ^ возведение в степень
  • () группировка выражений

PLANETCALC, Вычисления по модулю

Вычисления по модулю

Симметричное представление

Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Ссылка скопирована в буфер обмена

Похожие калькуляторы

  • • Решение сравнений по модулю
  • • Простая дробь по модулю
  • • Обратный элемент в кольце по модулю
  • • Обратная матрица по модулю
  • • Быстрое возведение в степень по модулю
  • • Раздел: Алгебра ( 46 калькуляторов )

PLANETCALC, Модулярная арифметика

Блок-схема

Так как в воскресенье на сайте открывается новая рубрика — решение задач,  мы с вами должны по-быстрому изучить основную часть математических операций, функций и процедур.

Давайте разберемся, что такое функция и процедура. Это подпрограмма — часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы. В чем же разница между процедурой и функцией?

Процедуры — мини-программы.

Процедуры используются в случаях, когда в подпрограмме необходимо получить несколько результатов. Из картинки, расположенной ниже вы видите, как работает процедура. Входных данных может не быть вовсе, а может быть сто.

20131220-004613.jpg

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

program superpuper;
var очень много буковок; 
procedure ampersand; 
begin 
write('&&&&&&&&&&&&&&&&&&&&'); 
end;
begin 
суперсложный код;
ampersand; 
суперсложный код;
ampersand; 
суперсложный код; 
ampersand; 
суперсложный код; 
ampersand; 
end.

Функции в Паскале — мега переменные.

Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.

Пример: a:=sqr(4).

Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!

Структура функции представлена на картинке ниже.

20131220-004554.jpg

Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через 10 уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.

Математические функции

Имя Тип аргумента Результат вычисления Пример
Abs(x) Целый или Вещ. Модуль   х Abs(-6) = 6
Sqrt(x) Вещественный Корень из х Sqrt(25)=5
Sqr(x) Целый и Вещ. Квадрат х Sqr(5)=25
Power(x, a) Вещественный Значение ха Power(5,3)=125
Frac(x) Вещественный Дробная часть х Frac(5.67)=0.67
Sin(x) Вещественный Синус х Sin(45)=0.8509
Cos(x) Вещественный Косинус х Cos(45)=0.5253
Arctan(x) Вещественный Арктангенс х Arctan(5)=1.3734
Int(x) Вещественный Целая часть х Int(5.67)=5.0
Random(x) Целый Случайное число (0..х-1) Random(5)=4
Succ(x) Порядковый Следующий Succ(10)=11
Pred(x) Порядковый Предыдущий Pred(‘Z’)=’Y’

Математические процедуры

Inc(x, a) Целый X:=X+A Inc(5)=6
Dec(x, a) Целый X:=X-A Dec(25,20)=5

Преобразование типов

Trunc(x) Вещественный Целая часть х Trunc(5.67)=5
Round(x) Вещественный Округление х до целого Round(5.67)=6
Важно! Если х = 5.5, то результат – 6, а если х = 6.5, то результат тоже 6!?

Очень странная ошибка.

Очень странная ошибка.

Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.

Div

Для того, чтобы найти частное от деления, мы используем операцию div.

   Примеры:

  • 25 div 20 = 1;
  • 20 div 25 = 0;
  • 39 div 5 = 7;
  • 158 div 3 = 52.

Mod

Для того, чтобы найти остаток от деления, мы используем операцию mod.

    Примеры:

  • 25 mod 20 = 5;
  • 20 mod 25 = 0;
  • 39 mod 5 = 4;
  • 158 mod 3 = 2.

Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:

Задача 1. Найти сумму цифр двухзначного числа.

Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.

Блок-схема

Блок-схема
program Sumoftwo;
var Number, Num1, Num2, Sum: integer;
begin
write('Введите двухзначное число: ');
read(Number);  { Возьмем число 25 }
Num1 := Number div 10; { 25 div 10 = 2 }
Num2 := Number mod 10; { 25 mod 10 = 5 }
Sum := Num1 + Num2; { 2 + 5 = 7 }
write('Сумма двух чисел -- ', Sum);
end.

Задача 2. Найти сумму цифр трехзначного числа.

Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.

Блок-схема

Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок.
program Sumoftree;
var Number, Sum: integer;
begin
write('Введите трехзначное число: ');
read(Number);  { Возьмем число 255 }
Sum := Number div 100 + Number mod 10 + Number div 10 mod 10; { 255 div 100 + 255 mod 10 + 255 div 10 mod 10 = 12 }
write('Сумма трёх чисел -- ', Sum);
end.

Вот и всё. На следующем уроке мы с вами начнём изучать особенности PascalABC.Net.

Теги: sql, java, оператор, mod, запросы, таблицы, деление, operator, остаток

Оператор mod обозначается символом % и является оператором деления по модулю. Он возвращает остаток от деления 1-го операнда на 2-й и широко используется в разных языках программирования для решения ряда задач.

Оператор mod в Java

В Java operator mod может работать как с целыми числами (byte/int/short/long), так и с плавающей точкой (byte/int/short/long). Давайте приведём пример работы оператора mod при делении:

class Modulus { 
public static void main (String args []) { 
int x = 42; 
double у = 42.3; 
System.out.print("x mod 10 = " + x % 10); 
System.out.println("y mod 10 = " + у % 10); 
} 
}

После выполнения этой программы вы получите результат следующего вида:

х mod 10 = 2 у mod 10 = 2.3

Как видим, оператор mod — это прекрасный способ найти остаток от деления. Зачем это может понадобиться на практике? Например, при нахождении кратности числа и определении, является ли некоторое число, введённое с клавиатуры, чётным. Также с помощью оператора mod можно узнать, делится ли одно число на другое без остатка или определить последнюю цифру числа. В общем, оператор mod очень полезен при решении различных задач по программированию.

Оператор mod в SQL

Не менее интересно использование mod в базах данных. Аналогично, mod находит остаток от деления. При этом вместо mod можно задействовать операцию %, делающую то же самое. Синтаксис в SQL следующий:

SELECT MOD(что_делить, на_что_делить) FROM имя_таблицы WHERE условие

Но можно написать и иначе, используя %:

SELECT что_делить % на_что_делить FROM имя_таблицы WHERE условие

Давайте приведём пример использования mod в базах данных. Вот, например, таблица numbers:

1-20219-4b024d.jpg

Найдём остаток от деления столбца number на три:

SELECT *, MOD(number, 3) as mod FROM numbers

В результате запрос SQL выберет следующие строки:

2-20219-a72b72.jpg

Но, как мы уже говорили выше, этот же запрос можно без проблем переписать:

SELECT id, number % 3 as mod FROM numbers

Идём дальше. Теперь возьмём таблицу посложнее:

3-20219-15db22.jpg

Здесь найдём остаток от деления столбца number1 на number2:

SELECT *, MOD(number1, number2) as mod FROM numbers

Получим следующие строки:

4-20219-3e08f5.jpg

Опять же, этот же самый запрос можно оформить иначе:

SELECT *, number1 % number2 as mod FROM numbers

А где вы используете mod? Пишите в комментариях!

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

program number7;
uses crt;
var A,B,C: integer;
begin
clrscr;
A:=17;
B:=3;
C:=A div B;
writeln ('17 div 3 = ',C);
C:=A mod B;
writeln ('17 mod 3 = ',C);
C:=A-B;
writeln ('17-3 =',C);
readln
end.

В строке №8 используется операция Div. Это операция деления нацело, т. е. в результате получится целое число без остатка. Если 17 разделить на 3, то получится 5,66666… Здесь — целое число 5, оно и будет результатом операции div.
Строка №10. Операция Mod вычисляет остаток от целочисленного деления. Если мы разделим 17 на 3, то получится 5 – целое число и 2 – остаток. Таким образом, результатом операции Mod будет число 2
Теперь запишем нашу программу в Паскале и и запустим ее.

div mod

div mod.



Дополнение к материалу.

Правила приоритета при выполнении операций в Паскале.

  • Сначала выполняются действия над переменными, которые стоят в скобках.
  • Затем вычисляются функции.
  • Затем умножение и деление.
  • Затем сложение и вычитание.

Операции, которые имеют одинаковый приоритет (сложение и вычитание, деление и умножение) выполняются слева направо, т.е. в порядке очереди.

Две
операции над целыми числами
div и mod имеют
по два целых операнда (аргумента): если
значения а и b неотрицательны
и b 
0, то а div
b
и a
mod
b
— это частное и остаток, возникающие
при делении а на b.

Целочисленное
деление div
возвращает целую часть частного, дробная
часть отбрасывается. Если делимое
меньше делителя, результат целочисленного
деления равен нулю.

Деление
по модулю mod
восстанавливает остаток, полученный
при выполнении целочисленного деления.

Примеры:

выражение

результат

выражение

результат

11
div 5

2

11
mod 5

1

10
div 3

3

14
mod 5

4

2
div 3

0

2
mod 3

2

10
mod 5

0

Операции
div
и mod
можно использовать для выделения
отдельных цифр из числа. Например,
возьмем трехзначное число. Тогда
выделение каждой цифры числа можно
записать следующим образом:

first:=591
div
100 {выделение первой цифры числа
— 5}

second:=591
div
10 mod
10 {выделение второй цифры числа —
9}

third:=591
mod
10 {выделение третьей цифры числа
— 1}

Операцию
mod
можно использовать, чтобы определить
кратно ли целое число Х целому Y,
а именно: X кратно Y
тогда и только тогда, когда X
mod Y = 0. Например, выражение
Х mod 2 = 0 позволит определить
является ли число Х четным.

Стандартные функции

Таблица
2.5

Название
функции

Выполняемое
действие

abs(x)

возвращает
модуль х

exp(x)

возвращает
e в степени х (экспоненту),
результат вещественного типа

cos(x)

возвращает
косинус х, результат вещественного
типа

sin(x)

возвращает
синус х, результат вещественного типа

arctan(x)

возвращает
арктангенс х, результат вещественного
типа

ln(x)

возвращает
натуральный логарифм х, результат
вещественного типа

sqr(x)

возвращает
квадрат числа х

sqrt(x)

возвращает
значение корня квадратного из х

pred(x)

возвращает
предыдущее целое число (х-1)

sucс(x)

возвращает
следующее целое число (х+1)

odd(x)

возвращает
результат логического типа

(для
четного аргумента – false,
для нечетного — true)

ord(x)

возвращает
аргумент х (код символа х в ASCII)

chr(x)

возвращает
символ, ASCII–код которого
равен х

random(x)

генерирует
случайное целое число в диапазоне от
0 до х

dec(x,
n)

уменьшает
значение целочисленной переменной
х на n

inc(x,
n)

увеличивает
значение целочисленной переменной
х на n

Вызов
стандартной функции осуществляется
путем указания в нужном месте программы
имени функции и ее аргумента, заключенного
в круглые скобки. После вычисления
значения функции ее вызов заменяется
результатом, а расчет содержащего ее
выражения продолжается дальше.

Аргумент
функций sin
и cos
задается в радианах. Для преобразования
значения угла из радианной меры в
градусную необходимо умножить величину
угла на число 180/pi. Для перевода
значения угла из градусной меры
в радианную необходимо умножить величину
угла на число pi/180.

Функция
random(диапазон)
возвращает случайное число, удовлетворяющее
условию 0<=x<=диапазон. Тип аргумента
и результата – word. Если необходимы
случайные числа из диапазона a<=x<b —
используется выражение random(ba)+a.

Если
параметр диапазон не указан, то random
возвращает число в диапазоне 0<=x<1.
Тип результата – real (см. п.3.2).
Если нам необходимы вещественные числа
из диапазона a<=x<b, мы можем задать
его при помощи random*b+a.

Перед
первым обращением к функции random
необходимо с помощью вызова процедуры
Randomize
инициализировать программный генератор
случайных чисел, иначе при каждом
запуске программы датчик будет выдавать
одни и те же числа.

Параметр
n в процедуре dec(x,n)
может отсутствовать, т.е. она примет
вид dec(x),
тогда значение х уменьшится на единицу.
Аналогично, при отсутствии необязательного
параметра n, процедура
inc(x,
n)
примет вид inc(x),
тогда значение х увеличится на единицу.

Примеры:

Пример
функции

Действие

Результат

x:=random;

выдает
случайное вещественное число в
диапазоне [0;1)

может
быть число 0.5413

x:=random(50);

выдает
случайное целое число в диапазоне
[0;49]

может
быть число 26

x:=random(51)-25;

выдает
случайное целое число в диапазоне
[-25;25]

может
быть число

-18

х:=10;

dec
(х, 2);

уменьшает
значение переменной х на 2

будет
число 8

х:=10;

dec
(х);

уменьшает
значение переменной х на 1

будет
число 9

х:=10;

inc(x,3);

увеличивает
значение переменной х на 3

будет
число 13

х:=10;

inc(x);

увеличивает
значение переменной х на 1

будет
число 11

2.3.2 Вещественные
типы данных

К
вещественному типу

относится подмножество
вещественных чисел, которые могут быть
представлены в формате с фиксированной
точкой и с плавающей десятичной точкой.
Вещественное число занимает в памяти
от 4 до 10 смежных байтов.

Таблица
2.6

Название
типа

Диапазон

десятичного
порядка

Мантисса,
значащие цифры

Требуемая
память (байт)

single
(с одинарной точностью)

1.5*10-45…3.4*1038

7..8

4

real

2.9*10-39…1.7*1038

11..12

6

double
(с двойной точностью)

5.0*10-324…1.7*10308

15..16

8

extended
(с повышенной точностью)

3.4*10-4951…1.1*104932

19..20

10

comp
(сложный)

-2*1063+1…2*1063-1

19..20

8

Наиболее
часто в простейших программах используется
тип real.
При разработке программ, критичных ко
времени счета, следует заменять тип
real на single, double или extended. Скорость
вычислений при этом увеличивается не
менее чем в 2 — 3 раза. Но пользоваться
этими типами несколько сложнее, т. к.
необходимо изменить способ компиляции,
используемый по умолчанию. Сделать это
можно двумя методами: при включенной
директиве компилятора {$N+} или установив
переключатель [*] для соответствующего
пункта меню интегрированной среды
языка Паскаль.

Над
данными этого типа определены операции:

  • арифметические
    (стандартные): сложение (+), вычитание
    (-), умножение (*) и деление нацело (/);

  • операции
    отношения (=, <>, <, >, <=, >=),
    вырабатывающие результат логического
    типа.

Для
вещественных чисел определены следующие
стандартные функции:

  • abs(x),
    chr(x), exp(x), sqr(x), sqrt(x), cos(x), sin(x), ln(x), arctan(x)
    (см.
    таблицу
    2.5
    );

  • trunc(x),
    round(x)
    (см.
    таблицу
    2.7
    ).

Таблица
2.7

Название
функции

Выполняемое
действие

trunc(x)

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

round(x)

преобразует
вещественный аргумент х в целое число
путем округления до ближайшего целого

frac(x)

вычисляет
дробную часть х (аргумент и результат
– real)

int(x)

вычисляет
целую часть х (аргумент и результат
– real)

random

генерирует
случайное число типа real из диапазона
0<1

Примеры:

frac(2.75)=0.75

int(2.75)=2.00

х=int(x)+frac(x) {результат:
2.75}

trunc(6.7)=6

trunc
(-1.6)=-1

round(6.7)=7

round(-1.2)=-2

Вещественные
числа могут записываться двумя способами
— в общепринятой и экспоненциальной
форме. Общепринятая форма предполагает
запись по обычным правилам арифметики.
Целая часть от дробной отделяется
десятичной точкой, а не запятой, как в
математике. Если точка отсутствует,
число считается целым.

Запись
вещественного числа в экспоненциальной
форме (в форме с мантиссой
и порядком)
использует степень десяти (например:
25* 103)
и удобна для записи очень больших и
очень маленьких чисел. При этом число
изображается так: пишется мантисса,
знак умножения опускается, вместо
основания 10 пишется буква Е, а следом
указывается порядок (показатель
степени). Буква е, предшествующая
порядку, читается как «умножить на
10 в степени».

Примеры
записи вещественных чисел
:

в
общепринятой форме — 123.456
или 11.9

в
экспоненциальной форме — 5.18Е+02
(518)
или 10Е-03
(0,01)

Примеры
неправильной записи вещественных
чисел:

123
— отсутствует десятичная точка;

1,23
— запятая вместо точки;

0.123-03
— отсутствует обозначение порядка Е;

12.34Е+1.2
— порядок числа должен быть целым.

2.3.3 Логический
тип

Логический
тип
(булевский)
может принимать только одно
из двух значений, определяемых
стандартными константами True
(да — истина, 1) и False
(нет – ложь, 0),
причем данные значения упорядочены,
т. е. в операциях сравнения true > false.

Логические
переменные, занимающие 1 байт, используются
для управления порядком выполнения
операторов программы. В программе
переменные логического типа описываются
служебным словом boolean.

К
типу boolean
применимы
операции
отношения, а также логические операции,
приведенные в таблице 2.8:

Таблица
2.8

Название
операции

Выполняемое
действие

not

логическое
отрицание – получение обратного
значения

and

логическое
и
(умножение) – принимает
истинное значение, только если оба
операнда истины

or

логическое
или
(сложение) – принимает истинное
значение, если хотя бы одно из операндов
истинно

xor

исключающее
или:

  • истина,
    только если из операндов истинно

  • ложь,
    если оба операнда истинны

Примеры:

(2>0)
or
true {результат:
true
}

(2>0)
or true and odd(4) {результат:
true
}

((2>0)
or true) and odd(4) {результат:
false
}

(2>0)
or true and odd(4) or (5*44) {результат:
true
}

2.3.4 Символьный
тип

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

В
памяти компьютера символы хранятся в
виде их числовых кодов. Числовые коды
преобразуются в буквы и другие символы
лишь в момент их вывода на экран или
принтер. Соответствие между символом
и его кодом задается при помощи кодовой
таблицы, которая находится в памяти
компьютера и используется при выводе
символов. В переменную этого типа на
компьютере может быть помещен любой
из 256 символов расширенного кода ASCII:
это буквы, цифры, знаки препинания и
специальные символы.

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

Например,
‘А’ обозначает букву А, ‘;’ — точку с
запятой, ‘ ‘ — пробел, #32 или #$20 являются
также символом пробела (32 — это код,
соответствующий пробелу, а шестнадцатеричное
число 20 равно десятичному 32).

Примеры:

M:=’текст’;

СН
:= #65; — присвоение переменной СН
символа ‘A’ (с ASCII-кодом
65)

Переменная
литерного типа занимает в памяти 1 байт
и описывается служебным словом char.

К
типу char
применимы:

  • операции
    отношения, вырабатывающие результат
    логического типа, результат зависит
    от номера символа в кодовой таблице;

  • встроенные
    функции, приведенные в таблице 2.9.

Таблица
2.9

Название
функции

Выполняемое
действие

ord(x)

преобразует
символ ch
в его код типа byte и
возвращает значение кода

chr(ch)

преобразует
выражение х типа byte
в символ и возвращает значение символа

pred(ch)

возвращает
предыдущий символ

sucс(ch)

возвращает
следующий символ

Использование
данных типа char
в арифметических операциях запрещено.

Примеры:

ord(‘
: ‘)=58

chr(128)=Б

pred(‘
Б ‘)=А

succ(‘
Г ‘)=Д

2.4 ОПЕРАЦИИ И
ВЫРАЖЕНИЯ

К
онструкция
языка, задающая порядок выполнения
действий, над элементами данных,
называется выражением.

Выражения
состоят из операндов, знаков операций
и круглых скобок. Операндом может
быть константа, переменная или обращение
к функции. Операции определяют
действия, которые надо выполнить над
операндами.

Пример
выражения
:

(Х+У-10)

Х,
У, 10 – операнды

“ +
“ и “ – “ — знаки операций сложения
и вычитания.

В
простейшем случае выражение может
состоять из одной переменной или
константы. Круглые скобки ставятся так
же, как и в обычных арифметических
выражениях для управления порядком
выполнения операций.

Операции
в языке Паскаль делятся на арифметические,
отношения, логические (булевские),
строковые и др. Выражения соответственно
называются арифметическими, отношения,
булевскими, строковыми в зависимости
от того, какого типа операнды и операции
в них используются.

2.4.1 Арифметические
выражения и операции

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

Арифметические
операции
выполняют арифметические
действия в выражениях над значениями
операндов целочисленных и вещественных
типов (см. таблицу 2.10).

Таблица
2.10

Операция

Действие

бинарные

операции

+

сложение

вычитание

*

умножение

/

деление

DIV

целочисленное
деление

MOD

остаток
от деления

AND

арифметическое
И

SHL

сдвиг
влево

SHR

сдвиг
вправо

OR

арифметическое
ИЛИ

XOR

исключающее
ИЛИ

+

сохранение
знака

отрицание
знака

унарные

операции

NOT

арифметическое
отрицание

Унарные
операции относятся к одному операнду,
бинарные — связывают два. Например, -а
– унарная, а+b – бинарная.

  • Арифметическое
    И (
    AND)
    производит логическое умножение
    операндов в соответствии с таблицей
    истинности:

1
and 1 = 1

0
and 1 = 0

1
and 0 = 0

0
and 0 = 0

Операнды
записываются в десятичной форме, но во
время выполнения переводятся в двоичную
форму. Результат представлен в десятичной
форме.

Пример:
Вычислить результат выражения А and
В, если А=13 и В=21.

Ответ:
13 and 21 = 5

Т.к.
числа 13 и 21 занимают в памяти по 2 байта
и в двоичной форме имеют вид:
000000000001101 и 000000000010101. Запишем их друг под
другом:

000000000001101

000000000010101

000000000000101

Умножая
цифры в соответствии с таблицей
истинности, получим результат
0000000000000101 или 5 в десятичной форме.

  • Сдвиг
    влево (K SHL N)
    восстанавливает
    в качестве результата значение,
    полученное путем сдвига на N
    позиций влево представленного в
    двоичной форме числа К.

Пример:
Вычислить результат выражения 2 SHL 7.

Ответ:
2 SHL 7 =256

Т.к.
число 2 в двоичной форме имеет вид
0000000000000010. Каждый бит сдвигается на 7
позиций влево, в результате получится
0000000100000000, что соответствует 256 в
десятичной форме.

  • Сдвиг
    вправо (SHR)
    выполняется
    аналогично с той лишь разницей, что
    сдвиг производится вправо.

Примеры:
160 SHR
2=40

90
SHR 2=22

256
SHR 7=2

  • Логическое
    ИЛИ (OR)
    выполняет
    сложение операндов в двоичной форме
    в соответствии с таблицей истинности:

1
or 1 = 1

0
or 1 = 1

1
or 0 = 1

0
or 0 = 0

Результат
представлен в десятичной форме счисления.

Пример:
Вычислить результат выражения А or
В, если А=13 и В=21.

Ответ:
13 or 21 = 29

  • Исключающее
    ИЛИ (XOR)
    производит
    сложение операндов в соответствии с
    таблицей истинности:

1
xor 1 = 0

1
xor 0 = 1

0
xor 1 = 1

0
xor 0 = 0

Результат
преобразовывается в десятичную форму
счисления.

Пример:
Вычислить результат выражения А хor
В, если А=13 и В=21.

Ответ:
13 or 21 = 24

  • Унарная
    операция
    сохранения
    знака
    (+) оставляет
    текущий знак числа без изменения.

выражение

результат

+(-77)

-77

+(42)

42

  • Унарная
    операция отрицания знака

    (-) восстанавливает значение операнда
    с противоположным знаком

выражение

результат

-(-77)

77

-(+42)

-42

  • Унарная
    операция
    отрицания (NOT)
    вызывает побитную инверсию, т.е.
    получение обратного значения,
    соответствующего данному числу
    двоичного кода.

выражение

результат

NOT
0

-1

NOT
78

-79

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Как найти реактивную мощность цепи формула
  • Как в виндоус найти документ
  • Как исправить редирект на сайте
  • Как загрузить картинку с телефона чтобы найти
  • 5 как составьте исковое заявление в суд