Вопросы по теме 'integer-arithmetic'

Как использовать целочисленную арифметику для преобразования дробей в числа с плавающей запятой в python?
Что мне нужно сделать, так это использовать целочисленную арифметику для преобразования дробей в числа с плавающей запятой. Необходимое количество знаков после запятой указывается в виде переменной DECIMALS . Каждая дробь содержится в кортеже целых...
896 просмотров
schedule 12.03.2024

Как проверить, является ли int четным
Вероятно, это простое решение, которое просто ускользает от меня. В частности, я динамически создаю местоположения на холсте, используя функцию sin() для равноудаленных точек на окружности. Как только эти точки созданы, я анимирую фигуру,...
1530 просмотров
schedule 23.11.2023

Преобразование списка цифр в число
Мне было интересно, есть ли способ взять список чисел (цифр) и обрезать числа вместе, чтобы получить одно большое число (не сложение) в схеме. Например, я хотел бы (foo '(1 2 3 4)) ;=> 1234 Есть ли в Scheme встроенная функция для этого?
156 просмотров
schedule 12.09.2023

Является ли это арифметическим вычислением переполнения?
Поэтому, когда я читаю книгу, в ней говорится, что переполнение не может происходить при добавлении разных знаков и вычитании одного и того же знака. Но у меня есть вопрос, когда я это делаю: 185 - 122 Я преобразовал двоичный код 122 в 2-е дополнение...
2728 просмотров
schedule 24.04.2022

Флаг переполнения и переноса
Контекст Я прочитал в учебнике, что... Сложение и вычитание не могут привести к переполнению. Цитировать, Переполнение не может произойти после сложения, если одно число положительное, а другое отрицательное, поскольку добавление...
1383 просмотров

Как избежать целочисленного переполнения при использовании функции pow при делении на число?
У меня есть следующее заявление. d = (pow(a,2*l+1)+1)/(val+1); Здесь, val , a и l - переменные, не имеющие отношения к вопросу. числитель может превышать диапазон long long int. знаменатель является делителем числителя....
1247 просмотров

Деление двух двойных целых чисел в Forth
Я использую Gforth, и я искал стандартное слово Forth для деления двух двойных целых чисел или, по крайней мере, смешанное деление двойного целого числа на одно целое, но в результате поддерживающее двойные целые числа. Кажется, нет ни одного....
235 просмотров
schedule 11.12.2022

Как современные процессоры выполняют целочисленные арифметические операции?
На этой странице Википедии упоминается сложность вычисления различных математических операций, включая сложение, вычитание, умножение и деление. Я хотел бы сосредоточиться на этих четырех. Во-первых, сложность каждой из упомянутых операций...
983 просмотров

Как возможно, что операция БИТОВОЕ И занимает больше тактов ЦП, чем операция АРИФМЕТИЧЕСКОЕ СЛОЖЕНИЕ в программе на языке C?
Я хотел проверить, действительно ли побитовые операции выполняются быстрее, чем арифметические операции. Я думал, что они были. Я написал небольшую программу на C, чтобы проверить эту гипотезу, и, к моему удивлению, сложение занимает в среднем...
1091 просмотров

Написание доказательств простой арифметики в Coq
Я хотел бы доказать простые вещи, например, для каждого натурального числа n существует натуральное число k такое, что: (2*n + 1)^2 = 8*k + 1 Как можно получить такое доказательство? Думал разбить на случаи, когда n нечетно или четно, но не...
593 просмотров
schedule 25.06.2022

Найдите количество различных способов записи числа 1 в виде суммы дробей, в каждом из которых числитель равен 1, а знаменатель равен степени 2.
Мне дано число n , и я должен найти количество различных способов записать число 1 в виде суммы n дробей, где каждая дробь имеет следующий формат: Числитель всегда равен 1. Знаменатель — это степень числа 2 (например, 2^1, 2^2 и т. д.)....
252 просмотров

Почему 2 * x * x быстрее, чем 2 * (x * x) в Python 3.x для целых чисел?
Следующее целочисленное умножение Python 3.x занимает в среднем от 1,66 до 1,77 с: import time start_time = time.time() num = 0 for x in range(0, 10000000): # num += 2 * (x * x) num += 2 * x * x print("--- %s seconds ---" % (time.time() -...
3498 просмотров

Устанавливает ли вычитание AVR одинаковых чисел C-флаг SREG?
Краткая предыстория: инструкция BRLO (переход, если ниже) имеет значение 1. ... выполнить переход, если C-флаг == 1; 2. ... выполнить переход, если Rd ‹ Rr (из инструкции CP) Мой вопрос: я буду использовать 4-битные числа для демонстрации....
262 просмотров
schedule 01.04.2023

Преобразование 12-битного числа в 2 8-битных байта
На всю жизнь я не могу понять, как преобразовать (максимальное) 12-битное число в 2 8-битных байта (где одно из значений, очевидно, не сможет превышать 4 бита). Например, я могу преобразовать целые числа 7 (4-битное значение) и 60 (8-битное...
563 просмотров
schedule 22.01.2024

Переполнение происходит из-за добавления?
Здравствуйте и извините за хромое название этого поста, просто не смог найти лучшего. Итак, я решаю упражнение Codility под названием NumberOfDiscIntersections. Решение требует некоторой базовой сортировки и некоторых незначительных арифметических...
56 просмотров
schedule 17.02.2023

Как я могу уменьшить масштаб x на n/d, когда x*n переполняется?
Моя проблема ограничена целыми числами без знака из 256 бит. У меня есть значение x , и мне нужно уменьшить масштаб на коэффициент n / d , где n < d . Простое решение, конечно, x * n / d , но проблема в том, что x * n может переполниться....
96 просмотров

Длинное умножение пары значений uint64
Как я могу безопасно умножить пару значений uint64 , чтобы получить результат в виде пары LSB и MSB одного типа? typedef struct uint128 { uint64 lsb; uint64 msb; }; uint128 mul(uint64 x, uint64 y) { uint128 z = {0, 0}; z.lsb = x *...
54 просмотров
schedule 20.06.2023

Возможна полная потеря точности в предупреждении о модуле и неправильные результаты при использовании определенных чисел с функцией модуля
Я написал эту функцию в R, и у меня есть несколько проблем с оператором модуля в этой функции. Цель этой функции — вернуть 1 до n+1 десятичного разряда, если число содержит какие-либо числа после запятой, в противном случае вернуть 1 для любого...
74 просмотров
schedule 18.01.2023

Как я могу вычислить a * b / c, когда и a, и b меньше, чем c, но a * b переполняется?
Предполагая, что uint является самым большим интегральным типом на моей платформе с фиксированной точкой, у меня есть: uint func(uint a, uint b, uint c); Что должно вернуть хорошее приближение a * b / c . Значение c больше, чем значение...
230 просмотров

Почему нельзя добавить два адреса вместе?
Допустим, я определил две переменные x и y : int x = 5; int y = 6; Я могу получить адрес, где хранится x , через: cout << &x << endl; // 0x61fe18 Что является шестнадцатеричным числом. Теперь, если я хочу напечатать...
131 просмотров
schedule 18.04.2024