frac delphi что это

Frac delphi что это

[Error] Unit10.pas(39): Incompatible types: ‘Frac’ and ‘Extended’. выдает эту ошибку
unit Unit10; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics.

trunc и frac в C++
С функцией trunc вроде разобралась, что в С++ она заменяется на floor.Правильно?? А frac на какую.

20)
щас еще раз отладчиком пройдусь

Добавлено через 5 минут
в frac(x) передается значения 20 но возвращает почему то не ноль а единицу

x := 0,33333333333333*60;
frac(x) попробуйте?

Добавлено через 1 минуту
видимо 0.3333333*60 будет 19.9 он его округляетдо 20 зачем то и из за этого весь бардак)

да вот так и должно но у меня при умножения 0.333333333333333*60 получается почему то 20 а не 19.999999999801 да и при frac(20) он должен выдавать 0 а он откуда та берет единицу

Добавлено через 30 секунд
щас посмотрю еще может в проекте где нибудь до этого что нибудь есть

Добавлено через 2 минуты
но если беру тип single вместо double то он выдает мне x=20 и и возвращает frac(x) равным 0 но если поменять на double то он дает x=20 но с frac(20) дает 1

Решение

x:=0.3333333333
получается если x*60=20 но если я вручную вбью то получается 0.333333333*60 =19.99999999801 то что нужно
а еще если я z :=x*60 то получится 20 но если shomessage вывожу то в showmessage получается 19.9999999801

Добавлено через 29 секунд
возможно ли какая то таблица сбивает?

Добавлено через 1 минуту
Значение из таблицы берет но в watch list получаю эти самые x:= 0.333333333 из таблицы дальше эту переменую умножаю на 60 то почему дает 20 но если showmessage выведу это то получаю 19.9999999801

Читайте также:  ремонт авто на какой счет отнести

Добавлено через 50 секунд
пожалуйста посмотрите что x имеет до вывода showmessage

Добавлено через 52 секунды
просто в showmessage тоже получаю это значение как у вас

Добавлено через 6 минут
в новом проекте все работает ничего не пойму с таблицы правильно все считываю получаю эти самые 0.33333333 но при умножения дает мне 20 почему то какая то не разбериха)) спасибо вам большое пойду копать

Источник

Вычисления в Delphi

Типы вычислений, выполняемых в Delphi для данных числового типа, можно разделить на несколько категорий, которые представлены ниже.

Операции присвоения в Delphi

Они используются для определения значения данных. В дополнение к непосредственному вводу значения в память, занятую переменной, используя ее адрес, стандартный метод присваивания заключается в использовании соответствующего оператора, как показано в примере:

Эту операцию следует интерпретировать как «Y становится значением для X» или «X принимает значение Y», в отличие от «X равно Y». Последняя интерпретация зарезервирована для оператора логического сравнения, выраженного тем же знаком равенства (без двоеточия, используемого в присваивании).

Логические операции: побитовые в Delphi

Они используются для обработки данных в виде набора битов. Каждый из битов рассматривается как независимая единица, и его изменение не влияет на другие биты данных.

Логические операции: сравнения в Delphi

Они используются для проверки, выполняется ли данное условие или нет. Это особый вид логических операций, поскольку они работают с данными, но возвращают логические значения. Допускаются следующие действия сравнения:

Символ операции Краткое описание Пример
= Равно B:=(1=1);
Больше B:=(1>-1);
> = Больше или Равно B:=(1>=-1);

Простые арифметические операции в Delphi

Они используются для манипулирования данными как определенным значением с использованием языковых операторов.

Символ операции Краткое описание Пример
+ Прибавление x:=1+2.3;
Вычитание x:=1-3.3;
* Умножение x:=2*3.4;
Div Целочисленное деление x:=5 div 3;
Mod Остаток от целочисленного деления x:=18 mod 4;
/ Деление x:=7 / 2;

Арифметические функции в Delphi

Они используются для обработки данных как определенного значения с использованием функций, реализованных в библиотеках. Основные операции перечислены ниже:

Функция Краткое описание Пример записи
Inc Увеличение (увеличение на 1 или на N) Inc(X); Inc(X,N);
Dec Уменьшение (уменьшение на 1 или на N) Dec(X); Dec(X,N);
Abs Абсолютное значение Abs(X);
Int Целая часть действительного числа Int(X);
Frac Дробная часть действительного числа Frac(X);
Sqr Возвращает квадрат числа Sqr(X);
Sqrt Возвращает квадратный корень числа Sqrt(X);
Power Возводит в степень Power(X, Y);
Ln Натуральный логарифм Ln(X);
LnXP1 Натуральный логарифм для X + 1 LnXP1(X);
Log2 Двоичный логарифм Log2(X);
Log10 Десятичный логарифм Log10(X);
LogN Логарифм от X по основанию B LogN(B, X);
Exp Экспонента Exp(X);
Ldexp X*2P Ldexp(X,P);
Hi Старший байт Hi(X);
Lo Младший байт Lo(X);
Sign Знак. Значение зависит от знака аргумента (-1 для X 0) Sign(X);
Round Математическое округление Round(X);
Trunc Преобразование действительного числа в целое число. Возвращает целую часть. Trunc(X);
Floor Округление до наибольшего целого, меньшего или равного аргумента Floor(X);
Ceil Округление до наименьшего целого Ceil(X);
Max Из двух приведенных чисел возвращается большее Max(X, Y);
Min Из двух приведенных чисел возвращает меньшее Min(X, Y);
MaxValue Из массива чисел возвращает наибольшее MaxValue (массив);
MinValue Из массива чисел возвращает наименьшее MinValue (массив);
MaxIntValue Из массива целых чисел возвращает наибольшее MaxIntValue (массив);
MinIntValue Из числа целых чисел возвращает наименьшее MinIntValue (массив);

Сложные операции в Delphi

Они используются для вычисления выражений посредством множества действий, выполняемых со многими данными. Примеры ниже:

Источник

Читайте также:  canoliola в мазке что это
Сказочный портал