Size: a a a

2021 December 14

RS

Renat Suleymanov in Delphi & Lazarus
К примеру, вот так деликатно можно читать биты любого байта

var
X:double;
Y:bitpacked array[0..sizeof(x)*8-1] of 0..1 absolute X;
источник

RS

Renat Suleymanov in Delphi & Lazarus
Аналогично можно также разбирать к примеру set'ы
источник

ПП

Пушистое Пельмешко... in Delphi & Lazarus
Проверь ка честная там упаковка или нет? Что SizeOf структуре скажет?

{$BITPACKING ON}
type
 TTest = bitpacked record
   F1: $0..$F; // 4 bits
   F2: $0..$F; // 4 bits
 end;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
жаль делфя не умеет. пришлось самому замену делать
источник

z

zamtmn in Delphi & Lazarus
1 а должен 0.5?
источник

z

zamtmn in Delphi & Lazarus
поллитра?
источник

ПП

Пушистое Пельмешко... in Delphi & Lazarus
два по 0.5 сколько? Прааально - литр
источник

z

zamtmn in Delphi & Lazarus
ловлю баг у себя, похоже на разницу в способе передачи параметра с временной переменной и без
источник

RS

Renat Suleymanov in Delphi & Lazarus
Все верно написал @zamtmn , ровно 1 дает
источник

ПП

Пушистое Пельмешко... in Delphi & Lazarus
ну есесно, если бы было не честное - то выдало бы двойку
источник

z

zamtmn in Delphi & Lazarus
он и так наврать может, биты не упаковать внутри одного байта))
источник

ПП

Пушистое Пельмешко... in Delphi & Lazarus
чойта? 8 бит в байт не влазиют? :))))
источник

z

zamtmn in Delphi & Lazarus
я бы понял если управляемые типы, но у меня с обычными типами
источник

z

zamtmn in Delphi & Lazarus
program Project1;

{$IFNDEF FPC}{$APPTYPE CONSOLE}{$ENDIF}

uses
 SysUtils;

type
 PTEntity=^TEntity;
 TEntity=object
   function Clone:PTEntity;
 end;

 TEntitys=object
   procedure Add(var Entity:TEntity);
 end;

function TEntity.Clone:PTEntity;
begin
end;

procedure TEntitys.Add(var Entity:TEntity);
begin
end;

var
 Entity:TEntity;
 PEntity:PTEntity;
 Entitys:TEntitys;

begin
 Entitys.Add(Entity.Clone^);

 PEntity:=Entity.Clone;
 Entitys.Add(PEntity^);
end.
имхо эти 2 вызова Add должны бвть одинаковыми, но по факту нет((
источник

ПП

Пушистое Пельмешко... in Delphi & Lazarus
а как определил что они не одинаковые?
источник

z

zamtmn in Delphi & Lazarus
сорян, торможу, проверяю что с case record вернет - про это и пишу
источник

z

zamtmn in Delphi & Lazarus
в асемблер пока не лез. но в моем миропонимании эти варианты должны быть совершенно одинаковые
источник

z

zamtmn in Delphi & Lazarus
естественно баг может быть и в другом месте, но похоже что тут
источник

ПП

Пушистое Пельмешко... in Delphi & Lazarus
в дельфе это два идентичных вызова
источник

z

zamtmn in Delphi & Lazarus
понял, спасиб. пока разбираюсь, реальный пример сложно воспроизводится
источник