<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-2">
<META content="MSHTML 6.00.2900.2180" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello, I need a routine binstr(var 
val:single;,....) since no such in the rtl exists I decided to write one. Also I 
wanted to make reverse routine bin2float where the input would be string 
containing 32 ones and zeroes. But I didn't want to bother with extracting 
mantissa, exponent, shifting adding dropped zero... One idea is to move entire 
singlenumber to the buffer (array of four bytes) and then I have values of 4 
bytes allready figured so I can convert them to binary or in reverse convert 32 
binary digits to  4 bytes and move them back to single. This approach 
worked until I used this on single numbers without floating part. But when I 
gave number with floating part it appended some numbers after my 
number.<BR>Following code snippet demonstrates the idea.<BR>If someone could 
point me what I am doing wrong there I would be gratefull.<BR>program 
testsingle;<BR>var number:single;<BR>buf:array[1..4] of 
byte;<BR>i:byte;<BR>begin<BR>writeln('enter float number 
');<BR>readln(number);<BR>writeln('you entered: 
',number);<BR>move(number,buf,sizeof(number));<BR>writeln('memory dump - byte by 
byte from left to right :');<BR>for i:=1 to 4 do write(buf[i],' 
');<BR>move(buf,number,sizeof(number));<BR>writeln;<BR>writeln('result 
');<BR>writeln(number:0:6);<BR>end.<BR></FONT></DIV></BODY></HTML>