Алексей Б. 0 1 апреля, 2006 Опубликовано 1 апреля, 2006 · Жалоба ПОМОГИТЕ! Как из 32 разрядного (двоичного) числа сделать массив (или структуру) из 6 10-ти разрядных чисел Вопрос не очень понятно написан, поясню: нужно вывести число на 6 семисегментных индикаторов в десятичном коде. ПАСИБО! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 1 апреля, 2006 Опубликовано 1 апреля, 2006 · Жалоба 2^32 = 4294967296 - т.е. нужно 10 семисегментных индикаторов, для отображения этого числа в десятичной форме, или 8 - в шестнадцатеричной. Шести будет явно маловато. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SiMM 0 2 апреля, 2006 Опубликовано 2 апреля, 2006 · Жалоба Делением. Делишь вначале на 1000000000, получаешь старшую цифру, затем остаток делишь на 100000000, получаешь вторую цифру, ... затем делишь на 10, получаешь число десятков, в остатке останется число единиц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vet 0 2 апреля, 2006 Опубликовано 2 апреля, 2006 · Жалоба Хинт: деление разумно заменить вычитанием, т.к. в данном случае оно будет выполняться не более 10 раз на каждую цифру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BVU 0 3 апреля, 2006 Опубликовано 3 апреля, 2006 · Жалоба Этом уже несколько раз обсуждплось, название темы не помню попробуйте поискать ... Просто необходимо сделать преобразование числа в строку - это функция sprintf(...), но лучше для экономии кода писать свою свою функцию, которая делает такое преобразование. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 4 апреля, 2006 Опубликовано 4 апреля, 2006 · Жалоба Для maks:из 32 разрядов мне нужно только 20. Для SiMM: пасибо, так просто, а я у уж думал что ничего не выйдет. Для vet: поясни пожалуйста, я не очень понял с вычитанием. BVU:я все сделал ВСЕМ ПАСИБО! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shamray 0 6 апреля, 2006 Опубликовано 6 апреля, 2006 · Жалоба Если еще надо, то вот кусок кодя который я пользую void HEX_to_DEC (u32 in, u08 * out, u08 size) { u08 i; for (i=0;i<size;i++) out=0; switch (size) { case 7: while (in>=1000000) { in-=1000000; out[6]++; }; case 6: while (in>=100000) { in-=100000; out[5]++; }; case 5: while (in>=10000) { in-=10000; out[4]++; }; case 4: while (in>=1000) { in-=1000; out[3]++; }; case 3: while (in>=100) { in-=100; out[2]++; }; case 2: while (in>=10) { in-=10; out[1]++; }; case 1: out[0]=in; default: break; } } in - ваше число out - указатель на массив где хранятся 10-ичные цифры size -количество этих цифр Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IEC 0 11 апреля, 2006 Опубликовано 11 апреля, 2006 · Жалоба http://electronix.ru/forum/index.php?showtopic=14704 Там рассматривался алгоритм преобразования двоичного числа в двоичнодесятичный формат. А далее вывод потетрадно! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться