public TWO_BYTE_UNSIGNED_INTEGER(ushort num) { if (num > 0x7FFF) { throw new ArgumentException("The integer is out of the valid range of TWO_BYTE_UNSIGNED_INTEGER.", "num"); } if (num > 0x7F) { c = TWO_BYTE_C_Values.TWO_BYTE_VAL; val1 = (byte)(num >> 8); val2 = (byte)(num & 0xFF); } else { c = TWO_BYTE_C_Values.ONE_BYTE_VAL; val1 = (byte)num; } }
public bool Decode(PduMarshaler marshaler) { try { byte t = marshaler.ReadByte(); c = (TWO_BYTE_C_Values)(t >> 7); val1 = (byte)(t & 0x7F); if (c == TWO_BYTE_C_Values.TWO_BYTE_VAL) { val2 = marshaler.ReadByte(); } return true; } catch { return false; } }
public TWO_BYTE_SIGNED_INTEGER(short num) { if (num > 0x3FFF || num < -0x3FFF) { throw new ArgumentException("The integer is out of the valid range of TWO_BYTE_SIGNED_INTEGER.", "num"); } ushort n; if (num < 0) { n = (ushort)(-num); s = S_Values.NEGATIVE_VAL; } else { n = (ushort)num; s = S_Values.POSITIVE_VAL; } if (n > 0x3F) { c = TWO_BYTE_C_Values.TWO_BYTE_VAL; val1 = (byte)(n >> 8); val2 = (byte)n; } else { c = TWO_BYTE_C_Values.ONE_BYTE_VAL; val1 = (byte)n; } }