When shifting and ORing the bytes we should do it in the correct type that we are going to assign to. In this case the types are signed and unsigned so there is an implicit cast occuring.