A bit is a binary digit with the two possible expressions 0 and 1. Binary data is often represented as hexadecimal in writing as that is more compact and human-readable. Hexadecimal (base 16) encodes the (decimal) numbers 0 through 15 with the symbols 0-9 and A-F (where A-F represent 10-15).
A few examples (subscript indicates base):
110 = 116 = 00012
510 = 516 = 01012
1010 = A16 = 10102
1310 = D16 = 11012
The flag array that you quote,
0252a1 would translate to the binary array
To use it as a flag array, we do not interpret it as a number but interpret a 1 as a feature being set and a 0 as a feature being unset. We refer to each bit by its position counting from the rightmost. The rightmost is the zeroth bit and even.
The Feature Flags (BOLT #9) in Lightning are always assigned in pairs. Even bits refer to features that our node will consider mandatory, odd bits refer to optional features our node supports. Other nodes will ignore odd bits that they don't understand ("It's okay to be odd."), but will disconnect if there are even bits set they don't support.
Bits 0/1 refer to the feature
option_data_loss_protect. The flag is on the even bit (the 0th), thus the feature is mandatory.
Bits 2/3 refer to
initial_routing_sync. Since neither bit is set, our node does not support that feature.
Bits 4/5 signal
option_upfront_shutdown_script. The flag is on bit 5, and thus it's an optional feature.
Bits 6/7 signal
gossip_queries. The flag is on bit 7, also optional.
Bits 8/9 signal
var_onion_optin. As the flag is on the odd bit, it's an optional feature.
Bits 10/11 is for
gossip_queries_ex. Our node does not support this feature.
Bits 12/13 indicate that
option_static_remotekey is mandatory for this node's peers, as it is set on bit 12, the even bit.
Bits 14/15 refer to
payment_secret which is also mandatory.
The flag on bit 17 indicates that
basic_mpp is optional.
The absence of the feature flags on bits 18-27 indicates that the node does not recognize any of the corresponding features.