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

 
 
> деление целых и получение целую дробную часть, IAR 6.12 , atxmega32d4
addi
сообщение Oct 31 2012, 06:27
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Здравствуйте
Возникла необходимость деления целых чисел в рамках atxmega32d4 и IAR 6.12 и дале оперирование над целыми
Пробую на следующем примере:
Код
float cntpf;
unsigned char l;

cntpf = l*12/512;
Send_Byte(cntpf); // unsigned char

Он определенно не правильный потому как в нем учитывается дробная часть при преобразовании в unsigned char в функции Send_Byte.
Подскажите пожалуйста кто знает как можно получить дробную часть чтобы мне ее далее учесть.

Заранее благодарен
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Oct 31 2012, 07:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Не очень понятно: что же Вы хотите получить?
Если разделить число с плавающей запятой на целую и дробную части (т.е. одно число - всё, что было до запятой; второе - после запятой), то есть функция modf.
Go to the top of the page
 
+Quote Post
addi
сообщение Oct 31 2012, 07:59
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(Палыч @ Oct 31 2012, 10:50) *
Не очень понятно: что же Вы хотите получить?
Если разделить число с плавающей запятой на целую и дробную части (т.е. одно число - всё, что было до запятой; второе - после запятой), то есть функция modf.

угу, не подскажите ее синтаксис?

сделал пока так:

Код
unsigned short;
unsigned char cntpfd;

                      cntpf = l*12;
                      cntpf = cntpf / 512;
                      cntpfd = cntpf % 512;


Сообщение отредактировал addi - Oct 31 2012, 08:00
Go to the top of the page
 
+Quote Post
Палыч
сообщение Oct 31 2012, 08:12
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(addi @ Oct 31 2012, 11:59) *
не подскажите ее синтаксис?

Это - стандартная функция:
Цитата
7.12.6.12 The modf functions
Synopsis
1 #include <math.h>
double modf(double value, double *iptr);
Description
2 The modf functions break the argument value into integral and fractional parts, each of
which has the same type and sign as the argument. They store the integral part (in
floating-point format) in the object pointed to by iptr.
Returns
3 The modf functions return the signed fractional part of value.
Go to the top of the page
 
+Quote Post



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

 


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


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