So far, it is not obvious what you want. Could you explain your requirements in a few more sentences?
There is one slight problem: -32767..32768 is a signed integer, while 0000..FFFF is an unsigned integer (0-65535). Of course we could just assume that you want to simply indicate the bit pattern of the I16 in hex. (Convert will often not work because the ranges are different). Please clarify.
Internally all numbers are binary, so there is no conversion needed. You can select how it should be shown cosmetically on the UI by selecting the proper formatting. In a later answer, you seem to imply that you need access to individual bits. This can be done by converting it to a size 16 boolean array using 4.x typecasting.
The attached code image shows s
ome of the methods. (Rolf also mentioned formatting into string, which is not shown here).