Imported from previous forum
I have a question regarding encoding of Integer Delta.
Lets consider the following field:
Base Value = 0;
Actual Value = 18446744073709551615 (UInt64 max value)
Field Type = UInt64
Operator = Delta
The integer delta is encoded as a signed integer (refer 10.7.1). Here, the detla value (18446744073709551615) is same as the actual value which cannot be represented as a signed integer. How do I encode such values?
Let me know if I am missing anything here.
Regards
Kiran
The spec doesn’t limit the delta to 64-bits. This note is from 6.3.7.1 in the spec
“NOTE: The size of the integer required for the delta may be larger than the specified size for the field type. For example, if a field of type uInt32 has the base 4294967295 and the new value is 17 an int64 is required to represent the delta -4294967278. However, this does not affect how the delta appears in the stream.”
In your example you’d need a 65-bit entity value to encode the delta.
/David
I have a question regarding encoding of Integer Delta. Lets consider the
following field: Base Value = 0; Actual Value = 18446744073709551615
(UInt64 max value) Field Type = UInt64 Operator = DeltaThe integer delta is encoded as a signed integer (refer 10.7.1). Here,
the detla value (18446744073709551615) is same as the actual value which
cannot be represented as a signed integer. How do I encode such values?Let me know if I am missing anything here.
Regards Kiran