Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
SuperIntendant
1 / 1 / 0
Регистрация: 29.05.2012
Сообщений: 31
#1

Выделение памяти для мат операций - C++

20.10.2013, 12:24. Просмотров 277. Ответов 8
Метки нет (Все метки)

Здравствуйте!
Подскажите как можно выделить память с размером под 2 переменные(по 2 байта), математический знак (1 бит), ответ с их решением(4 байта), а также последующее их сохранение в массиве, с возможностью адресации к ним(самим решениям).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 12:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выделение памяти для мат операций (C++):

Выделение памяти в куче для строки для реализации длинной арифметики
Доброго времени суток, пишу класс string, на основе которого потом хочу...

Выделение памяти для указателя
Помогите пожалуйста разобраться в одном примере: #include "stdafx.h"...

Выделение памяти для массива
Пишу такой код: int main() { int* arr1 = new int; } Всё норм. ...

Выделение памяти для массива
верно ли выделил память для массива если нет поправьте, заранее спасибо) class...

Выделение памяти для строки
Почему размер строки первой 4 байта а второй 50 байт?Первая должна сколько же....

Выделение памяти для массива
Вопроса похожего не нашел, в задаче требуется считать матрицу из текстового...

8
nulpatrol
0 / 0 / 1
Регистрация: 19.10.2013
Сообщений: 16
20.10.2013, 12:36 #2
Если пишите вычисление выражений, то вам нужен будет стек.
Ну а выделение памяти - это оператор new.
0
SuperIntendant
1 / 1 / 0
Регистрация: 29.05.2012
Сообщений: 31
20.10.2013, 13:23  [ТС] #3
Со стеком понял, но вот с new вопрос - он же выделяет минимум 4 байтовый int, а мне надо меньшие размеры переменных
0
Banddk
38 / 38 / 13
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
20.10.2013, 13:50 #4
new может вроде меньше 4 байтт выделять
0
OhMyGodSoLong
~ Эврика! ~
1245 / 994 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
20.10.2013, 13:54 #5
Цитата Сообщение от Banddk Посмотреть сообщение
new может вроде меньше 4 байтт выделять
new выравнивает всю выделяемую память по границе (как минимум) 16 байт.
Хотя не, там же наверяка сразу раскрывается в варианты, использующие арены...

Энивей, что такого, если вы потратите больше памяти? Процессор всё равно будет читать по 4 или 8 байтов за раз.
0
Banddk
38 / 38 / 13
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
20.10.2013, 13:56 #6
Нельзя выделить меньше 16 байт ????
0
OhMyGodSoLong
~ Эврика! ~
1245 / 994 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
20.10.2013, 14:02 #7
Я вас вообще шокирую сейчас. Лучше присядьте. Операционная система выдаёт программам память только кусками минимум по 4 килобайта.
0
SuperIntendant
1 / 1 / 0
Регистрация: 29.05.2012
Сообщений: 31
20.10.2013, 14:07  [ТС] #8
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Энивей, что такого, если вы потратите больше памяти? Процессор всё равно будет читать по 4 или 8 байтов за раз.
Процессор ясное дело будет...просто задание такое дали (Имитация работы процессора с оперативкой), где у процессора есть 4 регистра памяти разного размера где и хранятся те самые 2 переменные, знак и результат с последующим сохранением на оперативную память. Структура работы здесь главное.
0
OhMyGodSoLong
~ Эврика! ~
1245 / 994 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
20.10.2013, 15:28 #9
C++
1
2
3
4
5
6
7
struct  ProcessorState
{
    unsigned short int var1; // uint16_t, если точно 2 байта. И #include <stdint.h>
    unsigned short int var2;
    bool sign;
    unsigned long int result; // uint32_t
};
1
20.10.2013, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 15:28
Привет! Вот еще темы с решениями:

Выделение динамической памяти для матрицы
Эта программа преобразует матрицу со случайными числами в матрицу, которая...

Выделение памяти для пакетов сети
Здравствуйте, в общем пытаюсь заставить программу отправлять данные через сеть,...

Выделение памяти для двумерного массива
Обьясните что означает double** A = new double*, A = new...

Выделение памяти для строки символов
Нужно выделить память под массив указателей на строки, ввести текст построчно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru