как пребразовать чило с плавающей запятой в двоичн, типа Single и наоборот |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
как пребразовать чило с плавающей запятой в двоичн, типа Single и наоборот |
Freddie |
Сообщение
#1
|
Гость |
как пребразовать чило с плавающей запятой в двоичн типа Single и наоборот
|
BlackShadow |
Сообщение
#2
|
Гость |
На преобразовании из числа в строку можно схалявить. Дело в том, что переменные типа Single, как ни странно, представляют собой последовательность байт. Но, стоит заметить, что байты располагаются в обратном порядке. Т. е. можно написать так:
Код Type Float=Single; TByteArray=Array[1..SizeOf(Flost] Of Byte; Function ToStr(f:Float):String; Var i:Integr; Result:String; b:TByteArray Absolute f; Begin Result:=''; For i:=1 To SizeOf(Float) Do Result:=Result+ByteToStr(b[i]); ToStr:=Result End; Где ByteToStr переводит переменную типа Byte в строку из восьми нулей и единиц, т. е. Function ByteToStr(b:Byte):String; Думаю, что её написать не представляет сложности. А обратное преобразование есть обратное преобразование. Надо просто сделать всё с точностью наоборот. |
Текстовая версия | 4.05.2024 22:16 |