Форум программистов, компьютерный форум, киберфорум
dserp18
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 1.

Сумма трёхразрядных чисел Arduino

Запись от dserp18 размещена 23.04.2017 в 22:41
Обновил(-а) dserp18 30.04.2017 в 17:07

Текст программы относится к этой теме простой калькулятор
half_adder - полусммматор. Полусумматор состоит из Исключающего ИЛИ и Логического И. На вход функции
подается два массива, представляющих наборы высоких и низких уровней напряжения.
Подадим на вход поусумматора две единицы, т.е. B0001 и B0001, в результате получаем 0 в младшем разряде и 1 в массиве переноса в старший разряд, что соответствует числу 2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void half_adder(boolean arr1[], boolean arr2[], boolean result[], boolean mask[], int size);
 
const int size = 4; 
boolean arr1[] = {LOW, LOW, LOW, HIGH };
boolean arr2[] = {LOW, LOW, LOW, HIGH };
boolean result[size], mask[size];
 
void setup() {
  Serial.begin(9600);
}
 
void loop() {
half_adder(arr1, arr2, result, mask, size);
}
 
void half_adder(boolean arr1[],boolean arr22[],boolean result[],boolean mask[],int size){
    for(int i = 0; i < size; i++) {
    result[i] = arr1[i] ^ arr2[i];
    mask[i-1] = arr1[i] && arr2[i];
     }    
    for(int i = 0; i < size; i++) Serial.print(result[i]);
    Serial.print(" "); 
    for(int i = 0; i < size; i++) Serial.print(mask[i]);
    Serial.print("\n"); 
    }
Размещено в Без категории
Показов 496 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.