I'm not familiar with that SDK, but the following issues seem me exist:
1.) Reading 16 floats if just 1 is needed is wasteful.
2.) Allocating another 16 floats if 1 is used is wasteful.
3.) Within XPLMSetDatav you take the address of the 10-th element and apply the unary negation!?
IMHO the needed code snippet looks like so (but is untested):
float value; XPLMGetDatavf(pnlBri, &value, 10, 1); value = 100-value; XPLMSetDatavf(pnlBri, &value, 10, 1);