Help on converting dubble to uint8 ?
2 次查看(过去 30 天)
显示 更早的评论
Hey,
I have wave signal that change between 2-20 and it's type of dubble. I need to convert it to type uint8, for example:
The wave signale is INDX(change from 2 to 20) type of dubble. Convert signal is: ADR = uint8(INDX);
the result of that conversion gives me values from 0 to 20. Even when ADR is runs from 0 to 18 or 1 to 19 I get the same result : ADR = 0 to 20 ?
Is it possible to get the same values of INDX after using INDX input ? for example, if INDX is running from 3 to 17, the result (ADR=uint8(INDX)) will be 3 to 17 instead 0f 0 to 20 ? or, if INDX is running from 2 to 18, the result (ADR=uint8(INDX)) will be 2 to 18 instead 0f 0 to 20 ? or, if INDX is running from 2 to 20, the result (ADR=uint8(INDX)) will be 2 to 20 instead 0f 0 to 20 ?
I need to keep the same values of the start and end(of INDX) after using uint8(INDX). uint8 type ,must be use.
Thanks, Henry
0 个评论
采纳的回答
Walter Roberson
2016-9-18
You must have made a mistake somewhere.
>> uint8(3:17)
ans =
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
In the expression 3:17 the values are double precision values, so this shows that converting double precision values to uint8 works as expected for small non-negative values.
5 个评论
Walter Roberson
2016-9-18
Not being a vector is irrelevant.
>> A = 53*(reshape(3:17, 3, 5) + rand(3,5)); B = 48; INDX = uint8(A/B)
INDX =
4 8 10 14 17
5 9 12 15 19
6 9 13 16 19
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!