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

 Risposta accettata

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

Più risposte (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 18 Mag 2020
Modificato: Sulaymon Eshkabilov il 18 Mag 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 Commenti

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

Accedi per commentare.

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by