Hexadecimal (base-16), decimal (base-10), octal (base-8) etc mean nothing to the computer whatsoever. Wanting to get the computer to work "with HEX" is ... meaningless.
The most appropriate data format for working with raw data is in primitives such as byte (perhaps in a byte[]), or (arguably better) in larger composites such as int / long (which can allow for many performance savings, by allowing you to work with multiple values at the same time). Of course, if you are determined to work with string (which I do not recommend), for things such as "binary bit count" you could handle that at the character level simply by pre-computing the number of bits set in each of 0-9,A-F, and just doing a lookup against that value.
No, there is no "HEX" namespace, because it would be redundant. Hex is just a number; the number is the same number no matter how us weak-minded fleshy humans are thinking about it. Likewise you could use similar pre-generated lookups for changing to/from numbers, or on-the-fly via:
int i = Convert.ToInt32("f3", 16); // hex to Int32
string hex = i.ToString("x2"); // Int32 to hex