Nagornjk
02.01.2023 14:42

Двоичная система счисления. Вычитание 1101001010,011-1010011110,101

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
solnisko22
18.09.2021 05:57

ответ:Алгоритм Карацубы — метод быстрого умножения со сложностью вычисления nlog23. В то время, как наивный алгоритм, умножение в столбик, требует n2 операций. Следует заметить, что при длине чисел короче нескольких десятков знаков (точнее определяется экспериментально), быстрее работает обычное умножение.

Представим, что есть два числа A и B длиной n в какой-то системе счисления BASE:

A = an-1an-2...a0

B = bn-1an-2...a0, где a?, b? — значение в соотв. разряде числа.

Каждое из них можно представить в виде суммы их двух частей, половинок длиной m = n / 2 (если n нечетное, то одна часть короче другой на один разряд:

A0 = am-1am-2...a0

A1 = an-1an-2...am

A = A0 + A1 * BASEm

B0 = bm-1bm-2...b0

B1 = bn-1bn-2...bm

B = B0 + B1 * BASEm

Тогда: A * B = ( A0 + A1 * BASEm ) * ( B0 + B1 * BASEm ) = A0 * B0 + A0 * B1 * BASEm + A1 * B0 * BASEm + A1 * B1 * BASE2 * m = A0 * B0 + ( A0 * B1 + A1 * B0 ) * BASEm + A1 * B1 * BASE2 * m

Здесь нужно 4 операции умножения (части формулы * BASE? * m не являются умножением, фактически указывая место записи результата, разряд). Но с другой стороны:

( A0 + A1 ) * ( B0 + B1 ) = A0 * B0 + A0 * B1 + A1 * B0 + A1 * B1

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

A0 * B1 + A1 * B0 = ( A0 + A1 ) * ( B0 + B1 ) — A0 * B0 — A1 * B1

Окончательный вид выражения:

A * B = A0 * B0 + (( A0 + A1 ) * ( B0 + B1 ) — A0 * B0 — A1 * B1 ) * BASEm + A1 * B1 * BASE2 * m

Объяснение:

0,0(0 оценок)
Ответ:
nuk5
18.03.2022 13:12
Не знаю, что за автоматизация, но запрос на выборку выглядит так:
SELECT * FROM my_table
или же запрос на выборку с условием
SELECT * FROM my_table WHERE name="kek2255"
при этом еще можно использовать операторы AND(И)  и OR(ИЛИ)
SELECT * FROM my_table WHERE name="Иван" AND first_name="Иванов"
SELECT * FROM my_table WHERE name="Иван" OR name="Дмитрий"
и понятное дело их можно комбинировать
SELECT * FROM my_table WHERE (name="Иван" AND first_name="Иванов") OR (name="Дмитрий" AND first_name="Дмитриев")
Можно выполнять запрос из нескольких таболиц
SELECT t1.*, t2.* FROM my_table AS t1, my_table2 AS t2
WHERE t1.id = t2.id_ref


Здесь:
SELECT - Сам оператор выборки
* - это поля выборки, в данном случае все поля(*) -звездочка это значит все поля, но можно просто перечислить id, name, first_name и т.д. При выборе из 2-х и более таблиц указываются префиксы таблицы - это может быть как полное название таблицы(my_table.id) или псевдоним, которое мы указали (FROM my_table AS t1) t1 - будет псевдонимом и выбррка полей будет таким (t1.id, t1.name ...)
FROM - Обязательное ключевое слово(оператор) означает ИЗ(from) 
WHERE - Не обязательный оператор условия (ГДЕ)
Если перевести запрос на русский язык, то будет как в 1С:)
ВЫБРАТЬ * ИЗ моя_таблица ГДЕ Имя = "Иван"
Надеюсь
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота