Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: problem in reading large deimal number
Replies: 1   Last Post: Jul 17, 2013 9:41 AM

 Messages: [ Previous | Next ]
 seeker_123 Posts: 2 Registered: 7/17/13
problem in reading large deimal number
Posted: Jul 17, 2013 2:06 AM

hiii

my main intention to convert decimal number to IEEE 754 form.
so for that conversion i am going to use below function
-----------------------------------------------------------------------------------------------
function s = num2bin(x)
s = sprintf('%bx',x);
t = sprintf('%bx',2);
if t(1)==0
s = reshape(fliplr(reshape(s,2,8)),1,16);
end
s = reshape(dec2bin(hex2dec(s'),4)',1,4*16);
-------------------------------------------------------------------------------------------------

function calling
fid = fopen('decimal.txt','r');
x = fscanf(fid,'%f',1)
y = num2bin(x)
fclose(fid)

where x will be decimal no.
which i am going to read from a file
this function works fine if decimal number is small
if it is large like this
89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164809964723200
then it x is truncating
8.9885e+307
this i dont want because i am loosing precision
if i gave %d in scanf then it gives
-2.1473e+009
this i don't want

i tried by giving %s while scanning it scan whole value as it is
but then there is problem in num2bin function because sprintf gives wrong value for that

num2bin function works fine for such a large number because when i am direction giving such a large number as input to num2bin function it works very fine

Date Subject Author
7/17/13 seeker_123
7/17/13 Steven Lord