Вопросы по теме '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 просмотров

Понимание арифметических операторов в Python
Как я сейчас понимаю, арифметические операнды, такие как «+» и «-», являются особым видом методов, принадлежащих целочисленному классу. Мне они кажутся разными, потому что вам не нужно форматировать арифметические операции следующим образом:...
275 просмотров
schedule 27.04.2023

Реализация фильтра Калмана с учетом переполнения
Я пытаюсь реализовать фильтр Калмана для получения ориентации объекта, используя 3-осевой акселерометр и 3-осевой гироскоп в качестве датчиков. Выбор динамической модели для фазы прогнозирования этого фильтра прост: new_angle = angle +...
574 просмотров

Контрольная сумма без логических/битовых операций
Мне нужно вычислить 1-байтовую контрольную сумму по 15 байтам. Моя первая идея состояла в том, чтобы использовать что-то вроде crc8, но проблема в том, что я должен использовать очень ограниченный интерпретатор BASIC, который поддерживает только...
330 просмотров

Проблемы реализации целочисленного БПФ Робертса-Слани-Бураса
Я реализовал алгоритм БПФ обработки сигналов в 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 просмотров

Как оптимизировать распечатку разницы между большим и меньшим из двух целых чисел?
номер проблемы 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 просмотров

Полная потеря точности по модулю при расчетах с очень большими числами
У меня есть следующая проблема: > 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 просмотров

В двоичном вычитании, как вы обрабатываете заимствование, когда не осталось битов для заимствования формы
Предположим, мы используем 3 бита для вычитания 1 из 0: 0b000 - 0b001 ------ 0b111 У меня есть следующие 2 вопроса: 1- Откуда берется заимствованная 1 в MSB? Когда мы делаем 0b000 - 0b001 , MSB первого операнда равен 0, поэтому...
31 просмотров