Развесёлые диалоги о науке, квази и супер научные! |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
Развесёлые диалоги о науке, квази и супер научные! |
![]()
Сообщение
#961
|
|
Создатель миров ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2853 Регистрация: 2.10.2012 Вставить ник Цитата ![]() |
Al, вы меня не поняли. Как умножают в двоичной системе я знаю. Я не понимаю, как запрограмировали компьютер умножать. Сложение это очевидная операция. А вот умножение, деление, возведение в степень, корень, логарифмы уженет. Я спрашиваю именно о базовом уровне программирования. Вот хуть тресни, но 1*10=10 машина не сможет воспроизвести, без некого алгоритма или особой формулы. Ну допустим машина десять раз сложит еденицу, это очевидно. А вот с корнем как? Чуете, как вам высокоуровневые программеры отвечают?)) Они себе создают эту картину. Мозг требует какой-то реальности. На что можно было опираться. А когда не знаешь электроники и базовой булевой алгебры ее заменяют чем-то суррогатным. Слушайте ал1618. Он понимает, что говорит.)) |
|
|
![]()
Сообщение
#962
|
|
![]() Император Вселенной (и.о. тирана) ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 13490 Регистрация: 7.8.2013 Вставить ник Цитата ![]() |
Вот возьмем стандартный калькулятор, как он считает? Через ряд Тейлора дроби? Я про обычный настольный кальк. Проще всего - допросить с пристрастием. Причем лучше допросить разработчика, а не калькулятор) Блин, кто это придумал или гений или безумец наркоман, честно я мало чего понял из вашего ответа :-) мне бы попроще обьяснение :-) Ну проще... По сути, в "слегка" упрощенной форме, компьютер состоит из одного сдвигового регистра. На заре копьютеростроения так и было. Сдвиговый регистр - это набор управляемых триггеров. Подавая управляющий сигнал мы может включать или выключать выходы. В сдвиговом регистре управляющий сигнал как бы перемещает сигнал с одного выхода на другой. Например на выходе младшего разряда 1, на остальных выходах 0. Если мы установим (передвинем) эту единицу в следующем, а в младшем обнулим, то это будет равносильно умножению на 10 в двоичной форме. Такое может происходить и в автомате. Т.е. (не знаю как правильно сказать) если к младшему разряду прибавить 1, то он сам "впишет" 1 в следующий разряд, а сам обнулится. Только учитывайте, что примеры для двоичной системы исчисления, где 1 и 2 соответствуют 1 и 10 в десятеричной. Где-то так) |
|
|
![]()
Сообщение
#963
|
|
Создатель миров ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2853 Регистрация: 2.10.2012 Вставить ник Цитата ![]() |
Мне не интересно программирование, меня интересует лишь один вопрос, причем хотелось бы получить конкретный ответ, как компьютер умножает, находит корегь и т.п. Через сложение, подбором? Умножение через сложение. Либо через сдвиг регистра. Вам об этом сказали. Деление через комплементацию и сложение. Вы наверное про это и слышали. По большому счеты вы правы, что сложением делается большинство операций. Но сдвигом тоже. И инверсией. И их сочетанием. Более сложные операции - это уже программно написаные программистами библиотеки. Ряд Тейлора например. Вычисляется приближенно. Объяснить Вам все это наглядно не получится, ибо займет два часа и кучу текста. Не получится у вас прыгнуть через базовые понятия и попасть сразу в падишахи. |
|
|
![]()
Сообщение
#964
|
|
![]() Император Вселенной (и.о. тирана) ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 13490 Регистрация: 7.8.2013 Вставить ник Цитата ![]() |
Ну типа Я Простите - но вы бредите. Ну что ж, это радует) Вот вы меня сейчас заставил опять лезть в шкаф к книжкам... Вам не стыдно? )))) Представьте себе - нет) Просто не надо путать команды и программы с аппаратными действиями. Да, конечно, вы только что меня раскритиковали по этому поводу )))) Да как бы нет. Просто исполнение команды процессора это не одно действие, да и может вызвать целую кучу других команд. Поэтому ее нельзя рассматривать как элементарное действие. Вообще процессором можно управлять без команд, просто подавая сигналы на отдельные входы. Есть такой отладочный режим. Не уверен, правда, что серийные процессоры такой режим поддерживают. |
|
|
![]()
Сообщение
#965
|
|
![]() безграмадный сНежный котЭ ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 12427 Регистрация: 4.6.2011 Вставить ник Цитата ![]() |
Чуете, как вам высокоуровневые программеры отвечают?)) Они себе создают эту картину. Мозг требует какой-то реальности. На что можно было опираться. А когда не знаешь электроники и базовой булевой алгебры ее заменяют чем-то суррогатным. Слушайте ал1618. Он понимает, что говорит.)) Боюсь представить, что будет дальше... особенно когда наступит технологическая сингулярность, это вообще писец полный настанет ![]() |
|
|
![]()
Сообщение
#966
|
|
![]() безграмадный сНежный котЭ ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 12427 Регистрация: 4.6.2011 Вставить ник Цитата ![]() |
Проще всего - допросить с пристрастием. Причем лучше допросить разработчика, а не калькулятор) Ну проще... По сути, в "слегка" упрощенной форме, компьютер состоит из одного сдвигового регистра. На заре копьютеростроения так и было. Сдвиговый регистр - это набор управляемых триггеров. Подавая управляющий сигнал мы может включать или выключать выходы. В сдвиговом регистре управляющий сигнал как бы перемещает сигнал с одного выхода на другой. Например на выходе младшего разряда 1, на остальных выходах 0. Если мы установим (передвинем) эту единицу в следующем, а в младшем обнулим, то это будет равносильно умножению на 10 в двоичной форме. Такое может происходить и в автомате. Т.е. (не знаю как правильно сказать) если к младшему разряду прибавить 1, то он сам "впишет" 1 в следующий разряд, а сам обнулится. Только учитывайте, что примеры для двоичной системы исчисления, где 1 и 2 соответствуют 1 и 10 в десятеричной. Где-то так) А че делать, если умножать на дробь? И опять же корни, корни, корни!!! |
|
|
![]()
Сообщение
#967
|
|
![]() безграмадный сНежный котЭ ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 12427 Регистрация: 4.6.2011 Вставить ник Цитата ![]() |
Умножение через сложение. Либо через сдвиг регистра. Вам об этом сказали. Деление через комплементацию и сложение. Вы наверное про это и слышали. По большому счеты вы правы, что сложением делается большинство операций. Но сдвигом тоже. И инверсией. И их сочетанием. Более сложные операции - это уже программно написаные программистами библиотеки. Ряд Тейлора например. Вычисляется приближенно. Объяснить Вам все это наглядно не получится, ибо займет два часа и кучу текста. Не получится у вас прыгнуть через базовые понятия и попасть сразу в падишахи. Мне достаточно такого описания на словах. Что берут вот используют такую то формулу, а затем складывают...этого достаточно. То есть корень, логарифмируют и прочее, предварительно прогоняя числа через некоторые ряды, формулы? |
|
|
![]()
Сообщение
#968
|
|
![]() Император Вселенной (и.о. тирана) ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 13490 Регистрация: 7.8.2013 Вставить ник Цитата ![]() |
А че делать, если умножать на дробь? И опять же корни, корни, корни!!! Есть куча специальных приемов. Вам нужен спец по проектированию процессоров) По квадратному, и даже может быть где-то треугольному, корню вот может посмотреть пример, как решаются подобные задачи применительно к компьютерам http://algolist.manual.ru/maths/count_fast/intsqrt.php |
|
|
![]()
Сообщение
#969
|
|
![]() безграмадный сНежный котЭ ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 12427 Регистрация: 4.6.2011 Вставить ник Цитата ![]() |
Есть куча специальных приемов. Вам нужен спец по проектированию процессоров) По квадратному, и даже может быть где-то треугольному, корню вот может посмотреть пример, как решаются подобные задачи применительно к компьютерам http://algolist.manual.ru/maths/count_fast/intsqrt.php Примерно, как я и думал. |
|
|
![]()
Сообщение
#970
|
|
![]() Император Вселенной (и.о. тирана) ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 13490 Регистрация: 7.8.2013 Вставить ник Цитата ![]() |
|
|
|
![]()
Сообщение
#971
|
|
![]() Злостный рецедивист-невосхищенец ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4608 Регистрация: 10.11.2012 Вставить ник Цитата Из: Мать городов русских ![]() |
Вот хуть тресни, но 1*10=10 машина не сможет воспроизвести, без некого алгоритма или особой формулы. Ну допустим машина десять раз сложит еденицу, это очевидно. Мне так нет ![]() потому как умножить 1 на десять это не десять раз сложить один. Умножает машина всегда "на два" - с помощью сдвигового регистра. http://www.youtube.com/watch?v=FPMkE2JPkb8 с 2:40 сек или тут http://dssp.petrsu.ru/~ivash/ims/t12/TEMA6.HTM Делит в принципе так же. |
|
|
![]()
Сообщение
#972
|
|
![]() безграмадный сНежный котЭ ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 12427 Регистрация: 4.6.2011 Вставить ник Цитата ![]() |
Мне так нет ![]() потому как умножить 1 на десять это не десять раз сложить один. Умножает машина всегда "на два" - с помощью сдвигового регистра. http://www.youtube.com/watch?v=FPMkE2JPkb8 с 2:40 сек или тут http://dssp.petrsu.ru/~ivash/ims/t12/TEMA6.HTM Делит в принципе так же. Хитро блин. http://www.moluch.ru/archive/78/13628/ |
|
|
![]()
Сообщение
#973
|
|
Мастер интриги ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 644 Регистрация: 6.11.2012 Вставить ник Цитата ![]() |
Как? По-разному. Да, обычно на базе сложения. Но там кроме него ещё много всякого используется: поразрядный сдвиг и различная логика (не обязательно двоичная). Вообще, схемы аппаратных умножителей и делителей в интернете есть. Ещё, вероятно, вам понадобится учебник по дискретной математике. Любой алгоритм можно реализовать в железе (только не всегда это оправдано). Универсального ответа на ваш вопрос не существует, потому что в каждой отдельно взятой схеме это может быть реализовано малость по-своему. А вот умножение, деление, возведение в степень, корень, логарифмы уженет. Я спрашиваю именно о базовом уровне программирования. Мне кажется, вы смешиваете то, что смешивать не стоит. Умножение и деление тоже давно очевидные операции. Они ещё неочевидные, может быть, в каких-то нишевых встраиваемых устройствах. Насколько я знаю, ширпотреб уже давно умножает и делит на железе. И это не уровень базового программирования. Это скорее проектирование микропроцессоров. Программирование — это степени, корни и логарифмы. Вот они считаются так, как решил программист, написавший ту или иную библиотеку. Алгоритмов хватает. |
|
|
![]()
Сообщение
#974
|
|
![]() Император Вселенной (и.о. тирана) ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 13490 Регистрация: 7.8.2013 Вставить ник Цитата ![]() |
Al, вы меня не поняли. Как умножают в двоичной системе я знаю. Я не понимаю, как запрограмировали компьютер умножать. Сложение это очевидная операция. А вот умножение, деление, возведение в степень, корень, логарифмы уженет. Я спрашиваю именно о базовом уровне программирования. Я вроде въехал, чего требует Манул.) Это не есть программирование. Это аппаратные (схемные) решения. Возьмем абстрактный пример не слишком похожий на действительность, но общий принцип будет такой же. Умножение на 100 на сдвиговом регистре. И чтобы не городить огород умножать как всегда будем 1. Получив такую команду, процессор выдаст сигнал записи числа, которое надо умножить, в сдвиговый регистр из некоего заранее подготовленного входного буфера. Потом выдаст серию импульсов (в данном случае 2) на вход управления сдвигом. Потом считает состояние выходов сдвигового регистра и поместит эти данные в выходной буфер. Усе, таблица умножения не нужна, Пифагор рыдает. |
|
|
![]()
Сообщение
#975
|
|
![]() безграмадный сНежный котЭ ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 12427 Регистрация: 4.6.2011 Вставить ник Цитата ![]() |
Вопрос касаемо филологии (знаю, тут каждый второй филолог), почему говорят "Господи"? Ведь "госпади" - это во множественном числе!? Правильнее было говорить господь? А господи, тогда во множественном числе, пережиток язычество, когда богов много было?
|
|
|
Гость_Вагант_* |
![]()
Сообщение
#976
|
Гости Цитата ![]() |
Вопрос касаемо филологии (знаю, тут каждый второй филолог), почему говорят "Господи"? Ведь "госпади" - это во множественном числе!? Правильнее было говорить господь? А господи, тогда во множественном числе, пережиток язычество, когда богов много было? "Господи" - это так называемый звательный падеж. А в именительном так и будет - "господь". |
|
|
![]()
Сообщение
#977
|
|
![]() Мастер интриги ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 633 Регистрация: 9.7.2014 Вставить ник Цитата Из: Екб ![]() |
Почтитайте Петцольда, "Код. Тайный язык информатики". расчитано на детей, идет по истории создания машнных кодов, азбуки морзе, телеграфа ,реле, булевой алгебры и микросхем. постепенно выводит к современным компам. очень позновательно и интересно читать. советовал племяннику мелкому - начал лучше понимать как это работает.
|
|
|
![]()
Сообщение
#978
|
|
![]() Мастер интриги ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 828 Регистрация: 15.9.2011 Вставить ник Цитата ![]() |
С теорией Фоменко я знаком. Хотелось бы со ссылками на академическую науку. Гумилёв Лев Николаевич. Древняя Русь и Великая степь. Ритмы Евразии. Куда уж академичней. Как-никак докторскую он на этом защищал. Конечно я его к теориям насчёт пассионарности отношусь осторожно, но в остальном - у него самая подробная и точная история описана степных народов и взаимодействия с Русью |
|
|
![]()
Сообщение
#979
|
|
![]() Император Вселенной (и.о. тирана) ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 13490 Регистрация: 7.8.2013 Вставить ник Цитата ![]() |
Почтитайте Петцольда, "Код. Тайный язык информатики". Вы там поаккуратнее читайте. А то писателей больше, чем читателей, пишут чего хотят) Из той книжки Цитата ...8 битов составляют 1 байт... Байт вообще величина безразмерная и имеет смысл только в конкретном схемном решении! Это количество битов, считываемых за 1 такт чтения, и определяется конструкцией и схемотехникой компа. Да, большинство современных компьютеров имеют в основе 8-разрядную шину чтения, но говорить что байт это именно 8 битов, мягко говоря, несерьезно. |
|
|
![]()
Сообщение
#980
|
|
![]() Мастер интриги ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 633 Регистрация: 9.7.2014 Вставить ник Цитата Из: Екб ![]() |
Оо
покажите мне где 1 байт != 8 бит Это давно уже по умолчанию. Так и будкм учить: "в байте может быть 8 бит, а может и 9, хотя мне больше нравится 12, но все почему то используют 8. пичаль." Сломать мозг школьнику сходу! |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.7.2025, 22:33 |