Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 13.06.2011
Сообщений: 3
1

Разложение Single на байты

13.06.2011, 19:05. Показов 5400. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кто занает как разложить Single на байты?
т.е. получить значение 1,2,3 и 4-го байтов переменной.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2011, 19:05
Ответы с готовыми решениями:

Написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти байты в выходной файл
Здравствуйте!В убунту на Си нужно написать программу, которая бы считывала из входного файла байты...

Декодировать байты (в base64) в просто байты
Добрый день, нужно декодировать байты, которые зашифрованы в base64 в нормальные баты вот код : ...

Формат single IBM float point преобразование в Csharp Single(float) формат
Возникла проблема с чтением данных в формате IBM float point. Пытался найти какой-либо простой...

Vba single
Как можно получить в VBA первые(последние) 2 байта типа переменной сингл

2
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
13.06.2011, 21:48 2
Лучший ответ Сообщение было отмечено sergey_80 как решение

Решение

Если надо, чтобы индексы обозначали смещение в байтах относительно младшего байта переменной типа Single:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.
...
end;
Если требуется вести отсчёт от единицы:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type
  TArrByte = array[1..SizeOf(Single)] of Byte; //array[1..4] of Byte;
var
  PArrByte : ^TarrByte;
  Num : Single;
begin
  Single := 10.123;
  PArrByte := @Single;
  
  //Теперь:
  //PArrByte^[1] - младший байт переменной типа Single.
  //PArrByte^[2]
  //PArrByte^[3]
  //PArrByte^[4] - старший байт переменной типа Single.
...
end;
0
0 / 0 / 0
Регистрация: 13.06.2011
Сообщений: 3
13.06.2011, 21:57  [ТС] 3
Спасибо!
Подозревал, что можно через указатели.
0
13.06.2011, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2011, 21:57
Помогаю со студенческими работами здесь

Точность Single
Такая проблема: конвертирую StrToFloat в Single, при этом теряется точность, число округляется до...

T-single test в маткаде
Помогите , плиз школяру ещё раз) Как прописать вот эту формулу n=36 человек X=106 a=100 xi...

The Single Responsibility Principle
Есть класс Weather, в котором, на данный момент, есть методы getMaxTemperature(),...

Осторожно, оператор SINGLE !
Чем так опасен оператор SINGLE, что для него потребовалось создать специальную тему. Внизу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru