How do i convert decimal to hexadecimal for floating points
28 次查看(过去 30 天)
显示 更早的评论
I have attached the screenshots, in which i have extracted HOG features for a image and found its values in floating point but when i am converting the same decimal values to hexadecimal i am getting the error. please help
8 个评论
Guillaume
2017-7-24
@Walter,
As far as I know, all Xilinx FPGAs support single precision (and half-precision) floating-point (but not double). I commonly use single precision for some operations on my national instruments c-rio fpgas (programmed in labview). It does use a ton of gate and requires a lot more clock cycles than fixed-point though.
Stephen23
2017-8-3
See also almost this identical question:
采纳的回答
David Goodmanson
2017-7-19
HI Tousif,
try num2hex.
6 个评论
Walter Roberson
2018-10-25
reshape((dec2bin(typecast(single(pi), 'uint8')) - '0').', 1, [])
Note that this would be in little-endian order. You might prefer
reshape((dec2bin(typecast(swapbytes(single(pi)), 'uint8')) - '0').', 1, [])
更多回答(2 个)
mansour torabi
2021-2-18
You can simply write your own floating point to hex converter, like the following:
x = 5329.675; % Floating point number
xI = floor(x); % Integer Part
HI = dec2hex(xI); % Integer Part in Hex
xF = x - xI; % Floating part
HF = ''; % Floating part in Hex (begining)
ii = 0;
while xF > 0
ii = ii + 1;
ff = xF * 16^ii;
II = floor(ff);
HF = [HF, dec2hex(II)];
xF = ff - II;
end
x_hex = [HI,'.',HF] % Concatinate both Integer and Floating Part in HEX format
1 个评论
Victor Tamino
2021-8-27
Unfortunately, this code works with errors. If we try to convert 0.45619303 answer is: '0.74C911835D980', but correct answer is 0.74C91100835D98. And another example: 0.38574379 -> '0.62C1AE2AF622C0', but correct answer is 0.62C01AE2AF622DC. As we can see, your function loses zeros in the hex fractional part.
Where is the mistake? I can't understand.
Giancarlo Soasti
2018-10-25
dec2hex is the function you are probably looking for
2 个评论
Walter Roberson
2018-10-25
No, dec2hex only works on nonnegative integers. If you look at the images the original poster posted, they need to convert floating point numbers including fractions.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 CORDIC Algorithms in MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!