Сложение одноразрядных двоичных чисел выполняется по следующим правилам:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
В последнем случае, при сложении двух единиц, происходит переполнение младшего разряда, и единица переносится в старший разряд. Переполнение возникает в случае, если сумма равна основанию системы счисления (в данном случае это число 2) или больше его (для двоичной системы счисления это не актуально).
Сложим для примера два любых двоичных числа:
1101
+ 101
10010
Вычитание
Вычитание одноразрядных двоичных чисел выполняется по следующим правилам:
0 - 0 = 0
1 - 0 = 1
0 - 1 = (заем из старшего разряда) 1
1 - 1 = 0
Пример:
1110
- 101
1001
Умножение
Умножение одноразрядных двоичных чисел выполняется по следующим правилам:
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Пример:
1110
* 10
+ 0000
1110
11100
Деление
Деление выполняется так же как в десятичной системе счисления:
1110 | 10
|
10 | 111
11
10
10
10
0
"Реклама "
Некоторые компании, занимающиеся легальным бизнесом, рекламируют свои товары или услуги с спама. Привлекательность такой рекламы — низкая стоимость и (предположительно) большой охват потенциальных клиентов.
"Реклама незаконной продукции"
С спама рекламируют продукцию, о которой нельзя сообщить другими например, контрафактные товары (подделки, конфискат), лекарственные средства с ограничениями по обороту,
"Фишинг"
«Фишинг» — ещё один мошенничества. Он представляет собой попытку спамеров выманить у получателя письма номера его кредитных карточек или пароли доступа к системам онлайновых платежей. Такое письмо обычно маскируется под официальное сообщение от администрации банка. В нём говорится, что получатель должен подтвердить сведения о себе, иначе его счёт будет заблокирован, и приводится адрес сайта (принадлежащего спамерам) с формой, которую надо заполнить. Среди данных, которые требуется сообщить, присутствуют и те, которые нужны мошенникам. Для того, чтобы жертва не догадалась об обмане, оформление этого сайта также имитирует оформление официального сайта банка.
Pascal
var
ar: array of integer;
i, j, a, b, k, n :integer;
begin
(* Дан массив целых чисел (n = 20), *)
(* заполненный случайным образом числами из промежутка [-45, 95].*)
randomize;
n:=20;
setlength(ar, n);
for i := 0 to n-1 do begin
ar[i]:= random(140)-45;
write(ar[i],' ');
end;
writeln;
(* Удалить из него все элементы, кратные 7 и *)
(* принадлежащие промежутку [a, b] (a и b вводить с клавиатуры)*)
writeln('введите диапазон [a,b]');
readln(a,b);
i:=0;
while i <= n-1 do
if (ar[i] mod 7 = 0) and (ar[i]>=a) and (ar[i]<=b)then begin
for j := i+1 to n - 1 do
ar[j-1] := ar[j];
n := n - 1
end
else
inc(i);
setlength(ar, n);
for i := 0 to n-1 do begin
write(ar[i],' ');
end;
writeln;
(* Вставить число k между всеми соседними элементами, которые образуют пару *)
(* элементов с одинаковыми знаками k вводить с клавиатуры).*)
writeln('введите k');
readln(k);
i := n - 1;
while i > 0 do begin
if ar[i]*ar[i-1]>0 then begin
inc(n);
SetLength(ar, n);
for j := n - 1 downto i do
ar[j] := ar[j-1];
ar[i] := k;
end;
dec(i);
end;
for i := 0 to n-1 do
write(ar[i],' ');
end.