2^2018 в двоичной системе есть единица и 2018 нулей. 2018=2048-32+2 (исходное выражение трансформировалось в 2^2018-2048+32-2) 2048=2^11 (единица и 11 нулей) 32=2^5 (единица и 5 нулей) 2=10 :) Для начала прибавлю к 2^2018 100000. Получится число, у которого (с конца) 5 нулей, затем единица, затем идут 2012 нулей и снова единица. Теперь буду вычитать 2 т .е. 100...100000-10. Займу единицу с шестой с конца позиции. Будет 100...011110. Теперь нужно вычитать из этого числа 2^11. Последние 11 позиций не изменятся (вычитаются нули), а вот для вычета единицы потребуется "зянять" её у самой первой цифры числа. Если нарисовать последние 12 цифр исходного числа, картинка будет следующая: 1...000000011110 - 100000000000
0...111111111110 Осталось узнать, сколько единичек стояло на месте многоточия. В 2^11 было 12 цифр, соответственно, получаем 2018-12=2006 позиций, на которых стоят нули. К этим позициям нужно добавить 11 единиц, которые видны в "столбике". Итого 2006+11=2017 единиц\ P.S. если понятен принцип решения, советую перерешить еще раз, потому что у меня очень плохо с арифметикой.
*** Есть очень хорошее свойство: некое десятичное число n^m в переводе в n-ичную систему счисления будет в этой системе счисления выглядеть как единица и m нулей. Свойство довольно очевидное: при переводе из десятичной системы в n-ичную мы исходное число будем делить на n, т.е. получим остаток от деления 0 и частное n^(m-1). И так будет продолжаться m раз, пока мы не разделим число само на себя и получим единицу в последнем частном. Отсюда 1 и m нулей.
Пусть имеется проект в Simple-Scada и мы настроили подключение к СУБД MySQL к нашей базе данных с именем "my_database". Теперь в эту базу данных сохраняются сообщения, тренды проекта и т.д. Мы хотим добавить в БД новую таблицу для хранения рецептов и реализовать редактирование этой таблицы через скаду. Допустим у нас есть три компонента: K1, K2 и K3 и нужно чтобы при выборе рецепта количество каждого компонента считывалось из рецепта и записывалось в соответствующие переменные которые затем будут использованы в тех. процессе. Сначала организуем интерфейс проекта. Достаточно двух страниц.
(исходное выражение трансформировалось в 2^2018-2048+32-2)
2048=2^11 (единица и 11 нулей)
32=2^5 (единица и 5 нулей)
2=10 :)
Для начала прибавлю к 2^2018 100000. Получится число, у которого (с конца) 5 нулей, затем единица, затем идут 2012 нулей и снова единица.
Теперь буду вычитать 2 т .е. 100...100000-10. Займу единицу с шестой с конца позиции. Будет 100...011110. Теперь нужно вычитать из этого числа 2^11. Последние 11 позиций не изменятся (вычитаются нули), а вот для вычета единицы потребуется "зянять" её у самой первой цифры числа. Если нарисовать последние 12 цифр исходного числа, картинка будет следующая:
1...000000011110
- 100000000000
0...111111111110
Осталось узнать, сколько единичек стояло на месте многоточия. В 2^11 было 12 цифр, соответственно, получаем 2018-12=2006 позиций, на которых стоят нули. К этим позициям нужно добавить 11 единиц, которые видны в "столбике".
Итого 2006+11=2017 единиц\
P.S. если понятен принцип решения, советую перерешить еще раз, потому что у меня очень плохо с арифметикой.
***
Есть очень хорошее свойство: некое десятичное число n^m в переводе в n-ичную систему счисления будет в этой системе счисления выглядеть как единица и m нулей. Свойство довольно очевидное: при переводе из десятичной системы в n-ичную мы исходное число будем делить на n, т.е. получим остаток от деления 0 и частное n^(m-1). И так будет продолжаться m раз, пока мы не разделим число само на себя и получим единицу в последнем частном. Отсюда 1 и m нулей.
Таблица рецептов в БД
Пусть имеется проект в Simple-Scada и мы настроили подключение к СУБД MySQL к нашей базе данных с именем "my_database". Теперь в эту базу данных сохраняются сообщения, тренды проекта и т.д. Мы хотим добавить в БД новую таблицу для хранения рецептов и реализовать редактирование этой таблицы через скаду. Допустим у нас есть три компонента: K1, K2 и K3 и нужно чтобы при выборе рецепта количество каждого компонента считывалось из рецепта и записывалось в соответствующие переменные которые затем будут использованы в тех. процессе. Сначала организуем интерфейс проекта. Достаточно двух страниц.