Automaticlly converting negative values to 0

Hey. This is my code.
Ex_UpperBar * Ey_UpperBar * image(x_LowerBar,y_LowerBar)
Ex_UpperBar * Ey_UpperBar
ans =
-1
image(x_LowerBar,y_LowerBar)
ans =
uint8
89
but it is giving the Answer:
Ex_UpperBar*Ey_UpperBar*image(x_LowerBar,y_LowerBar)
ans =
uint8
0
It is supposed to return -89. How do i fix it? Thanks

 Accepted Answer

Use a command int8() or int16() to store your processed data that resolves your task. e.g.: a= -89; b=int8(a)

More Answers (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 18 May 2020
Edited: Sulaymon Eshkabilov on 18 May 2020
uint8 cannot store -89 and thus, 0
Thus, store your data in int8 or better int16.
Store you data in int8 or int16

2 Comments

it is in uint8 @Sulaymon Eshkabilov
int16(Ex_UpperBar)*int16(Ey_UpperBar)*int16(image(x_LowerBar,y_LowerBar))

Sign in to comment.

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!