avatar
Неделю из Москвы в Ульяновск.

avatar
На счет умножения и деления чисел с фиксированной точкой. 64-х разрядное умножение и особенно деление может быть очень медленным. Особенно на 8-ми и 16-ти битниках. А умножение и деление можно реализовать и без использования типов с большей разрядностью. Например умножение q16:
uint32_t mult_q16(uint32_t a, uint32_t b)
{
    uint32_t inta = a >> 16;
    uint32_t intb = b >> 16;
    uint32_t fracta = a & 0x0000ffff;
    uint32_t fractb = b & 0x0000ffff;
    uint32_t result = (inta * intb << 16) + (inta * fractb + fracta * intb) + (fracta * fractb >> 16);
    return result;
}

Нужно 4 умножения 16х16=>32 бита.
Деление q16:
uint32_t div_q16(uint32_t a, uint32_t b)
{
    uint32_t r = a >> 16, q = a << 16;
    uint_fast8_t carry = 0;
    for (uint_fast8_t i = 0; i < 32; i++)
    {
        if(r & 0x80000000)
            carry = 1;
        else
            carry = 0;
        r <<= 1;
        if (q & 0x80000000)
            r |= 1;
        q <<= 1;
        if (r >= b || carry)
        {
            q = q | 1;
            r -= b;
        }
    }
    return q;
}

Хоть оно и побитовое, но работает в разы бsстрее, чем х64 деление на Cortex-m3. Может быть можно сделать еще быстрее используя аппаратное деление 32/32=>32 и алгоритм Кнута.
avatar
После нескольких лет работы с поставщиками, понимаешь, что это мелочь. А сколько ехало по времени и в какой город?
avatar
Даже в Бресте есть мероприятие…
avatar
Нет, не будет. Как по мне, как есть сейчас — вполне нормально.
avatar
Насколько я понимаю, дополнительное поле для ограничения диапазона вводиться не будет?
avatar
Иначе проще воспользоваться другим калькулятором или написать формулу в экселе
Дак, никто-же не против :)

на практике чаще приходится иметь дело с более сложными схемами
Для таких лучше симуляторы юзать, а калькуляторы для БЫСТРОГО расчета мелких узлов оставить.

Лично мне калькуляторы хорошо жизнь облегчают.
avatar
Лучше ввести дополнительное поле, которое по-умолчанию заполнять какой-то разумной величиной, например 5 или 10%, возможно разной в разных расчётах. Иначе проще воспользоваться другим калькулятором или написать формулу в экселе, тем более что на практике чаще приходится иметь дело с более сложными схемами, а такие как источник тока рассчитываются в уме без калькулятора.
avatar
Для написания уроков, Альтиум подарил мне полную лицензию, за что им большое спасибо. По внешнему виду устройства врядли кто-то сможет определить в чем оно сделано, а вот по герберам и другим файлам — без проблем. Ну а проблемы с законом зависят уже от кучи других, не технических, факторов.
avatar
А Вы покупали Альтиум или используете 30-ти дневную лицензию? Просто я вот подумал, что вдруг ко мне на компьютер попал не лицензионный Альтиум, я разработал устройство и продаю его. Могут ли в этом случае возникнуть проблемы с законом?
avatar
Спасибо, теперь картинки полностью видно даже на айфоне (к тому же, они теперь отлично увеличиваются на тач девайсах).
avatar
Готово
avatar
Привет. Предлагаю очень простой фикс для проблемы огромных изображений на сайте. Я проиллюстрировал проблему и решение в трех картинках: imgur.com/a/fg3cZ#0
avatar
Я думал над этим. Дополнительное поле делать не хочется, чтобы не усложнять ввод данных. Можно, конечно, жестко забить какую-то цифру, но, ведь, неизвестно, что человеку нужно. Поэтому, я оставил как есть.

В любом случае, отфильтровать глазами© у меня получается довольно быстро и дискомфорта не вызывает.
avatar
Желательно добавить ограничение диапазона ошибок результата. Например, здесь tqfp.org/calculatoria/lm317_current/?Vin=10&Vload_min=1&Iout_target=100mA&Series=E24%20%C2%B15%25 вываливает несколько десятков результатов, из которых только пара попадает в допуск 10%, зачем остальные — не понятно. Нужно поле «максимальное отклонение» и не выдавать результаты, которые ему не соответствуют.
avatar
Все ввелось, спасибо, я же для себя… Смотрел на вторую функцию примера и все не мог понять почему мой ответ не подходит
avatar
0.2

EXPLANATION
Answer 2^24 *12.5ns = 209,715,200ns = 0.2sec ± 10%

А что не позно сейчас вводить результат?
avatar
а мне подскажите quiz 10 второй вопрос, какое число должно быть…
avatar
Кто сделал 10ю лабу?
avatar
Все! нашел! Спасибо тебе СЕРЕГА!