read csv file and convert 'double' to binary
显示 更早的评论
f = csvread('S21.csv',double=>binary);
I read .csv file in 'double'
ex) f(1,1) = 1.5111
I want to convert it to binary, 010101010,
no data loss as possible as.
How can I do???
Thank you for your coperation
回答(1 个)
Ameer Hamza
2020-10-8
0 个投票
See dec2hex(): https://www.mathworks.com/help/matlab/ref/dec2hex.html or num2hex(): https://www.mathworks.com/help/matlab/ref/num2hex.html if you want to use IEEE-754 format for conversion.
4 个评论
The example you posted first had 9 bits, and this version has 10 bits. How many bits of output are you looking for?
reshape(dec2bin(typecast(1.5111, 'uint8'),8).', 1, [])
je heo
2020-10-12
Note that the above is just one representation of 1.5111, and that it is not to be interpreted as something like
00000101.11000101100011110011000101110111001011011111100000111111
You get closer to that kind of representation with
reshape(dec2bin(typecast(swapbytes(1.5111), 'uint8'),8).', 1, [])
but this again is not to be interpreted as a binary fraction, at least not without careful examination.
The first bit is the sign bit. The next 11 bits are the exponent, with a bias of 1022. The remaining 52 bits are a binary fraction with an implied "1." in front of it.
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!