ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 июля
35289 Топик полностью
FDA (12.07.2005 16:43, просмотров: 1) ответил FDA на C# штука интересная, но мне лично не нравится .NET из-за его ограничений!
Продолжение: for (int i = 0; i <= 3; i++) PutUART(d.b [i]); А на Delphi? Тоже несложно: d = record case Byte of 0 : (f : Single); 1 : (b : array [0..3] of Byte); end; ... d.f := 0.123; for i := 0 to 3 do PutUART(d.b [i]); А на C#? Такого прямого метода там нет! Поэтому приходится записывать float в память, а затем оттуда считывать побайтно! Бред! В свое время один наш программист сделал проще: F = f * 1000; PutUART(F >> 24); PutUART((F >> 16) & 0xFF); PutUART((F >> 8) & 0xFF); PutUART(F & 0xFF); Тут идёт округление до тысячных долей, то в той задаче этого было более чем достаточно!