|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
Как сделать переменную на 20 бит?22.09.2021, 23:15. Показов 1394. Ответов 15
Метки нет (Все метки)
Как можно реализовать переменную, которая будет тратить 20 бит памяти, т.к. мне нужно больше чем short и меньше чем int для экономии памяти( у меня тратится 360мб, а ограничения 256мб) сократить невозможно. Я думал об объединении short и 4 bool, но не знаю как это реализовать.
0
|
|
| 22.09.2021, 23:15 | |
|
Ответы с готовыми решениями:
15
Знатокам Си: как определить знаковую переменную 12 бит? Сделать в числе n циклическую перестановку четных бит на k бит вправо STM8S105 и 16-бит SPI. Как сделать? |
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||
| 22.09.2021, 23:26 | |||
|
Добавлено через 4 минуты
0
|
|||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 22.09.2021, 23:29 | ||
|
Например, если это данные в какой-то поток\канал, то можно разные данные упаковывать и по 20 бит (при условии, что общая длина последовательности будет кратна байту).
0
|
||
|
Модератор
|
|
| 22.09.2021, 23:35 | |
|
Как вариант в функции/методы могут передаваться большие объемы данных по значению (то есть копироваться), когда по ссылке можно передавать без копирования, если не нужно менять то константная ссылка
0
|
|
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
| 22.09.2021, 23:50 [ТС] | |
|
Всё это я учел, и у меня нигде не копируются данные. везде стоит константа и амперсант, в общем мне нужно объявить массив длиной 10^8, но я знаю что максимальное число меньше чем 2^21
0
|
|
|
94 / 92 / 18
Регистрация: 10.03.2017
Сообщений: 306
|
|
| 23.09.2021, 00:08 | |
|
derwes, создать переменную в 20 бит невозможно, так как процессор адресует как минимум 1 байт.
Опишите вашу задачу подробнее, возможно мы сможем предложить другое решение.
0
|
|
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
| 23.09.2021, 00:33 [ТС] | |
|
Есть строка s длиной до 10^5, и число запрещ. слов до 10^5 и длиной до 10. нужно узнать самое раннее вхождение какого-либо слова в строку s или сказать, что его нет. Самое раннее вхождение - это расстояние от начала до последнего символа данного слова. Я тестирую, поэтому мне поручили проверить, можно ли написать эту задачу Бором. Я построил бор из запрет слов, а затем прохожусь по каждой подстроке s от i-того элемента по последний. Асимптотика - O(n*10), но память ест, т.к. различных символов до 100 от 27 до 127 по ASCII. И оно не будет проходить по памяти, т.к. тратится 10^6 на каждую вершину * 100 на её детей -> 10^8 мест в массиве, но я не очень знаю как считать кол-во памяти тратимое на массив, поэтому посчитал как 32 бит * 10^8, что около 390 мб, поэтому мне нужно сократить +- в 30%, т.к. ограничения до 256 мб.
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|||
| 23.09.2021, 01:12 | |||
|
0
|
|||
|
Вездепух
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,205
|
||
| 23.09.2021, 01:28 | ||
|
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 23.09.2021, 01:58 | |
|
По описанию задачи, что упирается в слово "надо" - то наверно подойдет std::bitset
0
|
|
|
0 / 0 / 0
Регистрация: 23.09.2021
Сообщений: 1
|
|
| 23.09.2021, 04:50 | |
|
один бит
0
|
|
|
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 23.09.2021, 13:46 | ||
). Надеюсь, найдете самостоятельно.
1
|
||
|
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
| 23.09.2021, 22:06 | |
|
Если определенным образом упаковать переменные по 20 бит, то сэкономить память можно... за счет потери производительности.
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 23.09.2021, 22:34 | ||
|
Пожалуй, уважаемый liv предложил самое здравое решение. Я хотел вякнуть на эту тему, не успел.
Базовый массив просто char. и 2 фунциклюшки записи i-того числа и чтения. Извлекать нужное поле с помощью сдвигов "&", "|" и прочих битовых операций. Неплохое упражнение. Добавлено через 1 минуту
0
|
||
| 23.09.2021, 22:34 | |
|
Помогаю со студенческими работами здесь
16
Поменять местами значения бит в заданном количестве пар бит. Номера бит в парах задаются с клавиатуры Запись бит в переменную для дисплея Как сделать так чтобы borland paskal 32 бит был на весь экран Как сделать переменную Как из функции сделать переменную? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|