, ? !
, USB USB
, .
, , . , . , , , () () , ().
, ?
, ( , , , ). ( , ). ( ) ,
= +
, .
, , , - , , ( , ). = >=, <=, >= + , ( ) , , .
, , . , , . .
, , , . , , , . , + 1, = (M + 1) * . , 1 , 32 , (2^32)*1-6=4*(2^10)^3*1-6 ~ 4 * 10^3^3 *1-6 = 4 * 10^(9-6) = 4000 , . 1 , 46 , 46 . , , .
, : ( ), ( , ) , ( ).
, , , , , . , .
, ( ) (- ), , , , , , .
(wraparound, recount, reroll, warp) , , , ( ), , , , , .
, .
, , 255. = 20, = 08, , 28, , = 250 = 251 251 >= (250+8) = 258 256 = 2, . , , , , , . , , , , .
( ) >= + , >= . , , , , . , . , , , .
= + , , = + < ,
( + ) = + =
(, , ) . , .
, , (, ), , . , , , , , . , , , , , , , . , , , , , , .
, , (, ), , , . . ,
>= +
,
= + ,
>= .
, , , >= 0.
, ( ), , 0 . , , , , .
, , ( ) < ( ). , . , ( ) + ( ) = 0 = + 1.
, , , , >= (+1)/2. , >= (+1) /2 , , .
, , , , . , . , , , , , , , , . , < 0.
, , . , , :
if ( (long) ( - ) < 0) ....
, () ( ), . , , , , , . Linux , , .
, , ( , ), ( ) . , , :
typedef unsigned char Timet;
Timet S = 0xF8, I = 12, T = S + I + 2;
// , MISRA, , , ,
if ( (T - S) >= I) printf ( "time"); //
register Timet D = (T - S);
if (D >= I) printf ("time"); //
, , Timet unsigned long, . , , , , , , . , , MISRA ( 10.1.b) , , . . , , , , .
,
if ( (c = uc ) == uc) printf ( "is equal");
, , uc, ,
. , .
. , .

https://habrahabr.ru/post/330094/