Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
28 / 13 / 1
Регистрация: 20.01.2013
Сообщений: 143
Записей в блоге: 8
1

простой калькулятор

28.09.2016, 10:42. Показов 2699. Ответов 6
Метки нет (Все метки)

Хочу сделать небольшой домашний проект - калькулятор на Ардуино. Как в IDE привязать число к кнопке, как привязать операцию (сложение, вычитание)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2016, 10:42
Ответы с готовыми решениями:

простой калькулятор
#include <Keypad.h> #include <LiquidCrystal.h> LiquidCrystal lcd(7,8,9,10,11,12); long...

Простой калькулятор на Atmega 88
Необходимо реализовать калькулятор не могу организовать мат. действия. Дисплей инициализируется...

Простой калькулятор и калькулятор с парсингом
Ребят я совсем не давно только начал изучать сишку, решил написать простенький калькулятор который...

Простой калькулятор
Первая программа после Hello Word. Пользователь вводит например (3-1)*2 А в ответе выводится...

__________________
6
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
28.09.2016, 11:13 2
http://www.vathsav.com/post/arduino_calculator
0
28 / 13 / 1
Регистрация: 20.01.2013
Сообщений: 143
Записей в блоге: 8
20.04.2017, 12:50  [ТС] 3
А если сделать, например, бинарный калькулятор. Я сделал сумму двух трёхразрядных чисел.
sum1, sum2 - слагаемыые
rez - результат сложения в десятичном формате
bin_rez - результат сложения в двоичном формате
int p[6] - массив pin'ов
C++
1
2
3
4
5
6
7
8
sum1=p[0]*1 + p[1]*2 + p[2]*4;  //переводим sum1 из двоичного формата в десятичный   
sum2=p[3]*1 + p[4]*2 + p[5]*4; //переводим sum2 из двоичного формата в десятичный   
rez=sum1+sum2;
// переводим rez из десятичного формата в двоичный
bin_rez[0] = rez/2/2/2%2;
bin_rez[1] = rez/2/2%2;
bin_rez[2] = rez/2%2;
bin_rez[3] = rez%2;
А нельзя сразу считать сумму в двоичном формате, без перевода в десятичный и обратно?
0
Модератор
Эксперт по электронике
8380 / 6225 / 836
Регистрация: 14.02.2011
Сообщений: 21,605
20.04.2017, 14:21 4
Цитата Сообщение от dserp18 Посмотреть сообщение
считать сумму в двоичном формате,
процессоры а равно контролеры и работают с двоичными данными, все остальное от лукавого
0
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,177
20.04.2017, 14:37 5
Вы нигде не переводите данные из двоичного формата в десятичный.
Вы как раз таки составляете двоичное число из введенных данных, которые надо как-то интерпретировать.

Вот это:
C++
1
sum1=p[0]*1 + p[1]*2 + p[2]*4;
, это на самом деле вы написали вот это:
C++
1
sum1=p[0] | (p[1]<<1) | (p[2]<<2);
То есть вы поразрядно собрали двоичное число.
Также поразрядно вы и запихиваете результат.

Ваше преобразование происходит не от необходимости перехода между системами счисления, а от необходимости переведения входных данных вообще в какую-то систему счисления. Ключевым для понимания тут является то, что результат арифметических операций не меняется в зависимости от системы счисления.
0
28 / 13 / 1
Регистрация: 20.01.2013
Сообщений: 143
Записей в блоге: 8
23.04.2017, 22:19  [ТС] 6
Не, а если сделать, например, два массива
C++
1
2
int sum1[] = {p[0], p[1], p[2]};
int sum2[] = {p[3], p[4], p[5]};
то это как-раз и будет двоичное представление слагаемых. Только тогда надо будет считать сумму, как в сумматоре на лог. элементах - с помощью исключающего ИЛИ ^ и бита переноса из младшего разряда в старший.
C++
1
2
3
4
5
6
int result[4];
...
result[0]=sum1[0]^sum2[0]^sum3[0]; 
result[1]=sum1[1]^sum2[1]^sum3[1]; 
result[2]=sum1[2]^sum2[2]^sum3[2]; 
result[3]=sum3[3];
Здесь sum3[]-программная эмуляция бита переноса. Не буду выкладывать здесь весь текст программы (выложу полный текст программы в своём блоге).
Но тогда вопрос, можно ли использовать регистр сдвига (и какой) для аппаратной реализации бита переноса.
0
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,177
24.04.2017, 16:31 7
Вы делаете что-то непонятное. Сложно без понимания задачи что-то подсказать.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2017, 16:31

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Простой калькулятор
Помогите пожалуйста написать код в Java: Необходимо реализовать графическое приложение, имеющее...

Простой калькулятор
А мне помогите сделать калькулятор,где два окошка-нужно ввести два числа.И всего 4...

Простой калькулятор
Здравствуйте! Помогите пожалуйста сделать так, чтобы калькулятор считал корень, проценты, &quot;+/-&quot; и...

Калькулятор (простой)
Уважаемые форумчане! Ранее всегда пользовался 1st Calculator, но в настоящее время не имею...

Простой калькулятор.
Выполнение арифметических действий с применением процедур ассемблера Цель работы: получить...

Простой калькулятор
сделал простой консольный калькулятор, но есть одна проблема, вот код: import...


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

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

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