Cheating a multiple choice test, part 2 This is sequel to this challenge by Adnan. If you like this challenge, chances are you'll like the other one too. Check it out!



A multiple choice test with 8 questions each with 4 choices might have the answers: BCADBADA. Converted to four different arrays, with true and false if the current letter is the answer, it will look like this

Q#: 1  2  3  4  5  6  7  8
    B  C  A  D  B  A  D  A
A: [0, 0, 1, 0, 0, 1, 0, 1]
B: [1, 0, 0, 0, 1, 0, 0, 0]
C: [0, 1, 0, 0, 0, 0, 0, 0]
D: [0, 0, 0, 1, 0, 0, 1, 0]


This can be compressed using a bit of logic. Each of the choices A, B, C and D can be represented
by two true/false values shown below:

A: 1 0
B: 0 1
C: 0 0
D: 1 1


Using this logic, we can compress the four vectors above to just two:

 1  2  3  4  5  6  7  8
 B  C  A  D  B  A  D  A
[0, 0, 1, 1, 0, 1, 1, 1]
[1, 0, 0, 1, 1, 0, 1, 0]


That is, the solution to your test is simply: 00110111, 10011010. By concatenating these, we get the binary number
0011011110011010, or 14234 in decimal. Use this decimal value to cheat on your test!

Challenge

Take a number N in the (inclusive) range [0, 65535], and output a string with the answer to the multiple choice test.

Test cases:

14234
BCADBADA

38513
ABBDCAAB    

0
CCCCCCCC

120
CBBBBCCC

65535
DDDDDDDD

39253
ABCDABCD


The output may be in upper or lower case letters, but you can not use other symbols.
05AB1E, 19 18 16 bytes
Code:
žH+b¦2äøC’c‰±’sè

Uses the CP-1252 encoding. Try it online!
Explanation:
First, we add 65536 to the number (žH is a constant defined to 65536), which is also 10000000000000000 in binary. This is to pad the number with zeroes. Let's take the number 14234 as an example. 14234 + 65536 is equal to 79770. Which in binary is:
10011011110011010

We remove the first character, resulting in:
0011011110011010

We split the string into two pieces using 2ä:
00110111, 10011010

After that, we zip the array with ø:
01, 00, 10, 11, 01, 10, 11, 10

Converting them back into decimal (using C) results in:
1, 0, 2, 3, 1, 2, 3, 2

Now, we only need to index it with the string cbad. The compressed version for this string is ’c‰±’, which can also be tested here. Finally, we get the characters at the index of the above array. For the above example, this results in:
1, 0, 2, 3, 1, 2, 3, 2
b  c  a  d  b  a  d  a