Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 130
Из них просматривают:
Аналоги: 49. Видео: 1. Даташиты: 25. Новости: 10. Остальное: 3. Программы: 3. Профиль пользователя: 4. Форум: 35.
Участников: 2
Гостей: 128

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

Просмотр этой темы: 

 1 анонимных пользователей
Проблема с преобразованиями
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
Всем привет.
Необходимо преобразовать двоичное 16-битное число(0-65535) в двоично-десятичный код и обратно.
помогите, пожалуйста? Может у кого есть библиотеки? Только библиотеки на С надо, а то в инете есть только на асме!
Нужно мне это для считывания чисел с клавиатуры(0-9), индикации на экране, отправке 16-битного числа в др. устройство и работа с ним. Считывание 16-битного числа с др. устройства и индикации его на дисплее и работа с ним.



Re: Проблема с преобразованиями
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
lcd[4]=((unsigned char)(time_off/10000U))+0x30;
lcd[3]=((unsigned char)((time_off%10000U)/1000U))+0x30;
lcd[2]=((unsigned char)(((time_off%10000U)%1000U)/100))+0x30;
lcd[1]=((unsigned char)((((time_off%10000U)%1000U)%100)/10))+0x30;
lcd[0]=((unsigned char)((((time_off%10000U)%1000U)%100)%10))+0x30;



Re: Проблема с преобразованиями
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
Вот тебе медленный и большой код, который разбивает 16-битное число на цифры, преобразовывая их в ASCII коды.



Re: Проблема с преобразованиями
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
А если без ASCII, просто на числа от 0 до 9?Что за переменная time_off(для хранения 16-битного числа)? И обратно как преобразовать в 16-битное число?



Re: Проблема с преобразованиями
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
1.Если без ASCII тогда убираешь везде в конце +0x30 .
2.Просто переменная. Назови как угодно. Тип переменной unsigned int
3. lcd[4]*10000U+lcd[3]*1000U+lcd[2]*100+lcd[1]*10+lcd[0]



Re: Проблема с преобразованиями
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
А мне еще надо работать будит не только с 5 значными числами, но 4,3,2 и 1. Напиши, пожалуйста коды. Перевод в двоично-десятичное и обратно.



Re: Проблема с преобразованиями
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
Все разобрался!!! Спасибо большое!!! Сделал!!! Еще вопрос:
Как введенные числа с клавиатура 0-9 будь это 1,2,3,4 или 5 значное число преобразовать к 16 битной переменной(0-65535), т.е. введенные числа с клавиатуры - это есть одно 16 битное число(одна переменная для его хранения)?
Помоги, пожалуйста!



Re: Проблема с преобразованиями
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
Дело в том, что я не пойму пока как мне отличить именно те нажатые клавиши для определенного числа (0-65535) и хранение его в 16-битной переменной!



Re: Проблема с преобразованиями
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
вводи по цифрам. А потом со второй формулой как я написал



Re: Проблема с преобразованиями
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
это понятно. А сохранять их куда? Вот я нажал например в комбинации 435. Как он отличит, что это именно они и преобразует его. Как отличить что было 3 значное, а не 5 значное число я знаю, а вот как именно отличить, что было именно 435 и в нужной последовательности. Вот в этом и проблема!



Поиск по форуму


Расширенный поиск

Разное

Интересно

Сортировать всякую всячину поможет магнит, завернутый в бумагу или полиэтилен.