Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2011, 19:07   #1
sergey_80
Новичок
Джуниор
 
Регистрация: 13.06.2011
Сообщений: 2
По умолчанию Разложение Single на байты

Кто занает как разложить Single на байты?
т.е. получить значение 1,2,3 и 4-го байтов переменной.
sergey_80 вне форума Ответить с цитированием
Старый 14.06.2011, 10:28   #2
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Это на C#
Код:
            float theChar = (float)6843.54;//Твое число
            float* pChar = &theChar;//Получаешь указатель на свое число
            byte *pByte = (byte*)pChar;//Создаешь копию указателя с изменением типа на байт
            byte first = *pByte;//Забираешь первый байт
            pByte++;//увеличиваешь указатель на 1 байт
            byte Second = *pByte;
            pByte++;
            byte Therd = *pByte;
            pByte++;
            byte Fourth = *pByte;
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 19.06.2011, 18:55   #3
sergey_80
Новичок
Джуниор
 
Регистрация: 13.06.2011
Сообщений: 2
По умолчанию

Спасибо, уже сделал по указателям
Single:= @PArrByte





type

TArrByte = array[0..SizeOf(Single) - 1] of Byte; //array[0..3] of Byte;

var

PArrByte : ^TarrByte;

Num : Single;

begin

Single := 10.123;

PArrByte := @Single;



//Теперь:

//PArrByte^[0] - младший байт переменной типа Single.

//PArrByte^[1]

//PArrByte^[2]

//PArrByte^[3] - старший байт переменной типа Single.
sergey_80 вне форума Ответить с цитированием
Старый 19.06.2011, 20:23   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Варианты
Код:
var
  s: Single;
  b: array [0..3] of Byte absolute s;
Код:
type
  SingleBytes = record
    case byte of
    0: (s: Single);
    1: (b: array [0..3] of Byte);
  end;
var
  s: SingleBytes
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить байты KoBRaAndrey Общие вопросы Delphi 3 22.01.2010 17:53
Байты и биты Karp_13 Общие вопросы Delphi 9 10.11.2009 00:33
HEX переводим в Single Yrok Общие вопросы Delphi 6 04.03.2009 17:00
Байты в стринги FaTaL Общие вопросы Delphi 9 18.04.2008 15:46
Single to String? Blondinka Общие вопросы Delphi 7 24.09.2007 17:36