[an error occurred while processing this directive]
|
У меня такая задача возникла. Нужно считать количество импульсов, а потом записать это число в массив - прочем элементу массива соответствует цифра числа. Например число N = 1024 должно быть представлено так:
DataStr(13) := 1;
DataStr(14) := 0;
DataStr(15) := 2;
DataStr(16) := 4;
Я думал сначала сделать просто:
ArrayPtr := 16;
While N > 0 loop
DataStr(ArrayPtr) <= N rem 10;
N := (N - (N rem 10)*10) / 10;
ArrayPtr := ArrayPtr - 1;
END loop;
DataReady <= true;
Не вышло. Пробовал сделать путем обычного деления "/" (т.к. при делении целых чисел остаток отбрасывается 3/2 = 1) Впринципе меня спас бы обычный двоично-десятичный счетчик с 7 тетрадами. Если кто-нибудь поможет кодом - буду очень благодарен. А вообще очень интересно было бы услышать как бороться с операциями деления, целочисленного деления, остатками. Я, признаться, думал, что все гораздо проще - язык программирования же как никак... Может посоветуете что?
E-mail:
info@telesys.ru
Ругается так: Operator
Ругается точно так же но на
Ответы