How to convert decimal values to a fix length of binary numbers?
19 次查看(过去 30 天)
显示 更早的评论
I have an image of size=500*500*3 consisting of 750,000 elements in decimal values ranging from 0-255. To be honest, I am quite confused myself, I am having trouble understanding the concept. So please correct If I am wrong in interpreting something.
I want to convert every deciamal value to a fix 10-length binary value. The binary value of 255 is 11111111. I want every value to be converted into 10-length binary value.
Like, 255 should be 0011111111, not 11111111 and 9 should be 00001001 rather 1001. So as a whole, I will get 750,000*10 binary values of the original image.
Also, If I convert this 750,000*10 image back into image of 750,000 elements (original values), by converting those 10-length binary numbers into their respective decimal values, I want the orignal image rather some garbage image.
I have been working on it for a few days, but nothing comes up.
1 个评论
James Tursa
2021-1-18
编辑:James Tursa
2021-1-18
There is no 10-bit native integer in MATLAB. Are you asking about something from the Fixed Point Toolbox? Or each number converted to a 10 character string? What is the class of the variable you want for an output of this conversion? Why do you need 10 bits? Is this for export into a file to be read by another program, or ...?
采纳的回答
Masoud Dorvash
2021-1-19
编辑:Masoud Dorvash
2021-1-19
Hi there,
you can easily use
dec2bin(n,p)
where n is your decimal number and p is your desired length (for your question is 10)
dec2bin(9,10)
ans =
'0000001001'
but you need to becareful that this is not a number (it's string), if you want to convert it to a number you need too use this one instead
dec2bin(9,10)-'0'
hope this works for you.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!