Важная информация

User Tag List

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 21 по 30 из 52

Тема: Деление/умножение

  1. #21
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Mat1sha, именно такие "извращенцы" и пишут красивые демы и игры

  2. #22
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,804
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Блин, никак не получается 8-ю битами поделить большие числа (ну скажем #AD на #F0) чтоб с остатком как положено (должно быть #00B8)
    Что за фигня

  3. #23
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,148
    Записей в дневнике
    37
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



    код покежь

  4. #24
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    никак не получается 8-ю битами поделить большие числа (ну скажем #AD на #F0), чтоб с остатком как положено (должно быть #00B8).
    Что за фигня?
    Своим совершенно непонятным постом Вы ввели читателей в полный ступор.

    Во-первых, даже очень большие числа можно поделить всего 4-мя битами, что и делали калькуляторы, которые в начале 70-тых были именно 4-х разрядными, т.к они считали в двоично-десятичной арифметике, а для представления одного числа 4-х разрядов вполне достаточно (кстати именно из-за этого в Intel процессорах сохранился такой пережиток как десятичная коррекция DAA).

    Во-вторых, вообще непонятно о чём тут речь. Если только кто-то не изобрёл новую форму представления чисел в 8-ми разрядном компьютере и речь об этом. До сих пор было известно только представление целых чисел и представление дробных чисел в форме плавающей запятой (с мантиссой и порядком).

    Но у Вас указаны целые числа, а результат Вы, похоже, ожидаете от деления дробных чисел. Есть процессоры, что умеют делить числа с плавающей запятой, но Z80 это не может. Кстати, этот недостаток Z80 легко исправить подключив к ZX-Spectrum 8-ми разрядный сопроцессор AMD AM911-1.

    Из Вашего текста следует, что остаток от деления 0ADH на 0F0H это 0B8H. Наберите в любом макроассемблере строку

    RESULT EQU 0ADH mod 0F0H

    и Вы убедитесь, что остаток равен 0ADH, что абсолютно ясно и без ассемблера.

    Число 0B8H получится только, если использовать программу деления чисел представленных в виде чисел с плавающей запятой и это не остаток, а результат дробного деления, причём почему-то умноженный на 256 и конвертированный снова в HEX. А программа целочисленного деления должна давать 0, т.к это положительные числа и делимое меньше делителя.

    Шынни, кто написал такой неправильный шестнадцатеричный калькулятор?

    Шестнадцатеричные числа по определению целые. Потому выражение в скобках равно нулю и результат тоже д.быть 0. Если включён шестнадцатеричный режим калькулятора, то и считать надо по правилам шестнадцатеричной арифметики.

    Шестнадцатеричная арифметика бывает беззнаковой, без ограничения размерности (так считает калькулятор Windows) и 16-ти разрядной знаковой, когда бит D15 это знак (именно так считает HEX-выражения макроассемблер Microsoft). А 8-ми битовая HEX-арифметика не бывает знаковой. Потому DA00/F000=2, а DA/F0=0.

    Только не надо утверждать, что это якобы десятичный калькулятор, но допускающий ввод чисел в HEX-виде.
    Последний раз редактировалось barsik; 27.02.2018 в 10:54.

  5. #25
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,755
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    203 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, ты ошибку пишешь
    делить надо так

    #ad00/#f0
    тогда будет #b8
    иначе фигня
    С уважением,
    Jerri / Red Triangle.

  6. #26
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    barsik, ты ошибку пишешь
    Я отвечаю именно на то, что написано.

    Цитата Сообщение от jerri Посмотреть сообщение
    #ad00/#f0
    тогда будет #b8
    С такими (совсем другими) входными данными и проблемы нет, т.к нужный результат даст любая процедура деления, в том числе и тривиальная с вычитанием в цикле.

    А действительно, чтоб не мучиться с программными арифметическими и даже тригонометрическими вычислениями, полезно поиметь арифметический сопроцессор http://www.cpushack.com/2010/09/23/a...-then-and-now/
    Последний раз редактировалось barsik; 27.02.2018 в 11:46.

  7. #27
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,804
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, Ожидаю 8bit/8bit=8bit.8bit
    #AD/#F0=#00B8
    Конечно решается и 16bit/8bit (как жерри написал) но хочется 8 циклов заворачивать на целую и 8 на дробную части, а не 16

  8. #28
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,148
    Записей в дневнике
    37
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Шынни, кто написал такой неправильный шестнадцатеричный калькулятор?

    Шестнадцатеричные числа по определению целые. Потому выражение в скобках равно нулю и результат тоже д.быть 0. Если включён шестнадцатеричный режим калькулятора, то и считать надо по правилам шестнадцатеричной арифметики.

    Шестнадцатеричная арифметика бывает беззнаковой, без ограничения размерности (так считает калькулятор Windows) и 16-ти разрядной знаковой, когда бит D15 это знак (именно так считает HEX-выражения макроассемблер Microsoft). А 8-ми битовая HEX-арифметика не бывает знаковой. Потому DA00/F000=2, а DA/F0=0.

    Только не надо утверждать, что это якобы десятичный калькулятор, но допускающий ввод чисел в HEX-виде.
    ЛОЛШТО?77

    - - - Добавлено - - -

    Цитата Сообщение от Destr Посмотреть сообщение
    barsik, Ожидаю 8bit/8bit=8bit.8bit
    #AD/#F0=#00B8
    А как ты себе представляешь Fixed Point 8.8 ? почитай доки что ли.

  9. #29
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Ожидаю 8bit/8bit=8bit.8bit
    #AD/#F0=#00B8
    То же самое как раз и получится, если делимое умножить на 256 (или сдвинуть влево на 8 разрядов) и затем выполнить деление 16-ти разрядного числа на 8-ми разрядное. Но непонятно для чего нужна дробь не десятичная, а в 256-тых долях.

    Мне как-то нужны были десятые и сотые, причём в десятичном виде и, если МНИП, я делал так. Делил нацело, получал целую часть, а затем делил остаток и получал дробную часть.

    Цитата Сообщение от Шынни Посмотреть сообщение
    ЛОЛШТО?77
    Я так и понял, что Вам сказать нечего.
    Последний раз редактировалось barsik; 27.02.2018 в 12:56.

  10. #30
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,148
    Записей в дневнике
    37
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    "Бесконечная мера вашего невежества - даже не забавна..."(с) Веллер

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Быстрое умножение на 10000
    от litwr в разделе БК-0010/0011
    Ответов: 53
    Последнее: 11.12.2021, 03:54
  2. Ответов: 8
    Последнее: 19.10.2017, 15:08
  3. Процедуры на асме (умножение деления)
    от gres8 в разделе Программирование
    Ответов: 3
    Последнее: 25.01.2007, 10:26
  4. деление синхросигнала
    от Splinter в разделе Изображение
    Ответов: 3
    Последнее: 01.08.2005, 02:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •