![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
a, b, c: Extended;
begin
a := 212.53;
b := 212.49;
c := a - b;
if c = 0.04 then
ShowMessage(FloatToStr(c))
end; |
|
#2
|
||||
|
||||
|
9-ую строчку заменить на
Код:
if Abs(c-0.04)<0.00000001 then |
|
#3
|
||||
|
||||
|
Я имею ввиду как увидеть истинное значение переменной 'с'. Например, в виде 0.039999999999999993895990990009 или двоичного кода.
Последний раз редактировалось SpectraL, 01.06.2016 в 10:44. |
|
#4
|
||||
|
||||
|
Код:
ShowMessage(FloatToStrF(c, ffGeneral, 100, 100)); |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
SpectraL (01.06.2016)
| ||
|
#5
|
||||
|
||||
|
Спасибо, это более точное значение, но не истинное.
Последний раз редактировалось SpectraL, 01.06.2016 в 11:02. |
|
#6
|
|||
|
|||
|
Ну, если тебе бинарное, то как-то так:
Код:
var
E : ^Extended;
I : ^Byte;
begin
E^ := 123.4567890;
I := ^Byte(E);
For I := 0 To 9 Do
Begin
Writeln(IntToStr(I));
I := I+1;
End;Двоичный код уж сам как-нить "выдерешь". |
|
#7
|
||||
|
||||
|
lmikle, твой код не работает. Что это такое: I := ^Byte(E)?
Последний раз редактировалось SpectraL, 02.06.2016 в 08:53. |
|
#8
|
||||
|
||||
|
Код:
type
PByteArr = ^TByteArr;
TByteArr = array [0..9] of Byte;
var
e: Extended;
pe: PByteArr;
i: Integer;
begin
e:=Pi;
pe:=@e;
for i:=0 to 9 do
begin
Memo1.Text:=Memo1.Text+IntToHex(pe^[i], 2)+' ';
end;
end; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
SpectraL (03.06.2016)
| ||
|
#9
|
||||
|
||||
|
1. Можно ли увидеть истинное значение с помощью отладчика (например, при трассировке)?
2. Есть ли подпрограмма округления до определённого количества значащих цифр? Последний раз редактировалось SpectraL, 03.06.2016 в 12:24. |
|
#10
|
||||
|
||||
|
Цитата:
Конечно: 1. Останавливаешь программу по брекпоинту. 2. Смотришь адрес переменной. 3. Смотришь память по этому адресу. |
|
#11
|
||||
|
||||
|
Aristarh Dark, а как посмотреть адрес и память?
|
|
#12
|
||||
|
||||
|
View - Debug Windows - CPU Windows - Entire CPU|Memory
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
SpectraL (03.06.2016)
| ||
|
#13
|
||||
|
||||
|
Цитата:
Последний раз редактировалось SpectraL, 03.06.2016 в 20:19. |
|
#14
|
||||
|
||||
|
При чем тут двоичный код? И с каких пор Pi = 3.1415? В моей вселенной Пи примерно равно
Цитата:
Как сравнивать дробные числа было сказано ранее. В первом ответе в этой теме. Последний раз редактировалось Bargest, 03.06.2016 в 22:58. |
|
#15
|
||||
|
||||
|
Offtop
Цитата:
![]() |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
Bargest (04.06.2016)
| ||