реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> вывод float на 7-сегментный индикатор ?, где десятичная точка является 8-м сегментом
alm_
сообщение Feb 14 2006, 09:19
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Есть дисплей 4 на 8 сегментов, где десятичная точка является 8-м сегментом. Требуется вывести число в формате с плавающей (не фиксированной) запятой без использования финкций из string.h, stdio.h, stdlib.h (ограничение по размеру кода). При использовании формата с фиксированной запятой задача банальна, но нужно, чтобы десятичнай точка меняла свою позицию.

Заранее благодарен.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 14 2006, 12:48
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Расчитывайте позицию точки как dotpos++, домножая число на 10, до тех пор пока целая часть числа не превысит максимально допустимую разрешающую способность вашего индикатора (9999)..
Go to the top of the page
 
+Quote Post
BVU
сообщение Feb 14 2006, 13:05
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(defunct @ Feb 14 2006, 15:48) *
Расчитывайте позицию точки как dotpos++, домножая число на 10, до тех пор пока целая часть числа не превысит максимально допустимую разрешающую способность вашего индикатора (9999)..

Нет, так наверно не пойдет. Это лишь метод.
Необходимо разработать стандарт, как будут выглядеть варианты дробных чисел на 4-х разрядном 8-ми сегментном индикаторе:
0,00x
0,0x0
0,x00
x,000
x0,00
x00,0
x000,
отсюда появляется требование в какой разрядной позиции индикатора размещать дробную часть заканчивающаяся нулем?


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 14 2006, 13:11
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(BVU @ Feb 14 2006, 15:05) *
0,00x
0,0x0
0,x00
x,000
x0,00
x00,0
x000,


Заметьте, в приведенных Вами кодах, позиция точки зависит только от целой части числа..
Go to the top of the page
 
+Quote Post
BVU
сообщение Feb 14 2006, 13:20
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(defunct @ Feb 14 2006, 16:11) *
Заметьте, в приведенных Вами кодах, позиция точки зависит только от целой части числа..

А она (целая часть) в основном и определяет местоположения запятой (дробная часть выходящая за пределы индикатора должна отбрасываться). Потом будут частные случаи, когда дробное число получившееся меньше количества разрядов индикатора (в какой позиции разместить или добавить нулями)... Все варианты перечислить я поленился.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016