this question has answer here:
- byte + byte = int… why? 15 answers
 
i have in c#
        byte a;         byte b;         byte c;          c = + b;   and gives error c = + b , says "cannot implicitly convert type 'int' 'byte'. explicit conversion exists (are missing cast?). don't understand why because in bytes
matlab involved because translating image processing program matlab c# take values picture uint8 , doing calculations value when unit8 takes on , during calculations number higher 255 set 255. in c# made of variables bytes since under 255 anyways in example code when running calculations error pops up.
during calculations number higher 255 set 255.
this not supported natively in c#. instead, default behaviour of (byte) cast take least significant byte, giving arithmetic result equivalent modulo 256.
c = unchecked((byte)(200 + 200));   the result above 144, equivalent 400 % 256.
if want clip results @ 255, need specify explicitly:
c = (byte)math.min(a + b, 255);      
Comments
Post a Comment