Вопросы по теме 'integer-arithmetic'
32-битное переполнение с фиксированной точкой
Я делаю некоторые «ранние вычисления» на 32-битном ПК с Windows и смотрю на ограничения.
Теперь 2 ** 32 равно 4 294 967 296, и я обнаружил, что
4294967290 + 5
совершенно нормально, и
4294967290 + 6
вполне нормально...
625 просмотров
schedule
09.07.2022
Неоднозначность в арифметике длинных целых чисел?
Взгляните на следующий фрагмент кода:
#include <stdio.h>
int main(void)
{
int a;
a = 2147483647;
printf("a + 1 = %d \t sizeof (a + 1) = %lu\n", a + 1, sizeof (a + 1));
printf("a + 1L = %ld \t sizeof (a + 1L) = %lu\n", a + 1L, sizeof (a...
580 просмотров
schedule
24.10.2022
Реализация VHDL умножения Монтгомери
Я пытаюсь создать модульную арифметическую операцию в этом случае:
x*y mod n
Насколько я читал, самый быстрый способ сделать это - использовать умножение Монтгомери, но я не могу понять, как это на самом деле делается в другом, чтобы...
1829 просмотров
schedule
24.10.2022
Понимание арифметических операторов в Python
Как я сейчас понимаю, арифметические операнды, такие как «+» и «-», являются особым видом методов, принадлежащих целочисленному классу. Мне они кажутся разными, потому что вам не нужно форматировать арифметические операции следующим образом:...
275 просмотров
schedule
27.04.2023
Реализация фильтра Калмана с учетом переполнения
Я пытаюсь реализовать фильтр Калмана для получения ориентации объекта, используя 3-осевой акселерометр и 3-осевой гироскоп в качестве датчиков.
Выбор динамической модели для фазы прогнозирования этого фильтра прост:
new_angle = angle +...
574 просмотров
schedule
27.12.2022
Контрольная сумма без логических/битовых операций
Мне нужно вычислить 1-байтовую контрольную сумму по 15 байтам. Моя первая идея состояла в том, чтобы использовать что-то вроде crc8, но проблема в том, что я должен использовать очень ограниченный интерпретатор BASIC, который поддерживает только...
330 просмотров
schedule
01.09.2022
Проблемы реализации целочисленного БПФ Робертса-Слани-Бураса
Я реализовал алгоритм БПФ обработки сигналов в Python, используя np.fft (слишком просто). Сейчас я работаю над этим на C, используя целочисленный алгоритм. После некоторых исследований я обнаружил, что одна из самых популярных библиотек...
219 просмотров
schedule
21.05.2023
Умножение целого числа на рациональное без промежуточного переполнения
У меня есть структура, представляющая неотрицательное рациональное число p/q:
struct rational {
uint64_t p;
uint64_t q; // invariant: always > 0
};
Я хотел бы умножить свое рациональное число на uint64 n и получить целочисленный...
418 просмотров
schedule
26.06.2023
Как оптимизировать распечатку разницы между большим и меньшим из двух целых чисел?
номер проблемы UVA. 10055, Храбрый воин Хашмат , наверное, самая простая задача. Входные данные состоят из серии пар целых чисел без знака ≤ 2^32 (что требует использования 64-битных целых чисел…) Для каждой пары задача состоит в том, чтобы...
320 просмотров
schedule
06.10.2022
Переносимый способ преобразования беззнакового значения в знаковое отрицание в С++ 14
Я ищу переносимую функцию C++, которая вычисляет математическую функцию f(x) = -x , где ввод беззнаковый, а вывод знаковый. Функция должна работать для всего диапазона значений long long и выдавать исключение, если входные данные выходят за...
63 просмотров
schedule
07.06.2024
Как работает неявное преобразование с подписанным символом и беззнаковым целым числом?
#include<stdio.h>
void main()
{
unsigned x = 1;
signed char y = -1;
if(x > y)
printf("x > y");
else if(x == y)
printf("x == y");
else
printf("x < y");
printf("\n");...
249 просмотров
schedule
27.06.2022
Копирование переменной только с арифметическими операторами
Как лучше всего скопировать значение одной переменной в другую без функции прямого присваивания?
Переменные представляют собой 2-байтовые числа с фиксированной запятой с максимальным значением 2147483,647. Доступные операторы (переформатированы...
56 просмотров
schedule
20.05.2023
Полная потеря точности по модулю при расчетах с очень большими числами
У меня есть следующая проблема:
> 1e20 %% 3
[1] 0
Warning message:
probable complete loss of accuracy in modulus
Результат не может быть правильным, и я уверен, что это потому, что 1e20 действительно большой. Но я хочу решить подобные...
614 просмотров
schedule
24.07.2022
И против MOD для ODD
Одной из самых основных операций в программировании является определение того, является ли данный x четным или нечетным. Обычный способ сделать это:
ODD(x) = x MOD 2 == 1
Другой менее популярный вариант:
ODD(x) = x AND 1 == 1
Широко...
35 просмотров
schedule
08.11.2022
В двоичном вычитании, как вы обрабатываете заимствование, когда не осталось битов для заимствования формы
Предположим, мы используем 3 бита для вычитания 1 из 0:
0b000
- 0b001
------
0b111
У меня есть следующие 2 вопроса:
1- Откуда берется заимствованная 1 в MSB? Когда мы делаем 0b000 - 0b001 , MSB первого операнда равен 0, поэтому...
31 просмотров
schedule
16.04.2024