All Binary Combinations to Decimal
Python, 60 bytes
lambda x,y:[n for n in range(1<<x+y)if bin(n).count('1')==y]
Test it on Ideone.
How it works
All positive numbers that can be represented in binary with x zeroes and y ones is clearly smaller than 2x + y, since the canonical binary representation of the latter has x + y + 1 digits.
The lambda simply iterates over the integers in [0, 2x + y) and keeps all integers n in that range that have y ones. Since n < 2x + y is can be represented with x (or less) zeroes.
Jelly, 8 bytes
0,1xŒ!ḄQ
Try it online!
How it works
0,1xŒ!ḄQ Main link. Argument: [x, y]
0,1x Repeat 0 x times and 1 y times.
Œ! Compute all permutations of the result.
Ḅ Unbinary; convert each permutation from base 2 to integer.
Q Unique; deduplicate the results.
Mathematica, 59 57 bytes
A usual outcome with Mathematica: high-level functions = good, long function names = bad.
#+##&~Fold~#&/@Permutations@Join[0&~Array~#,1&~Array~#2]&
Join[0&~Array~#,1&~Array~#2]
creates a list with the correct number of 0
s and 1
s. Permutations
generates all permutations of that list, without repetitions (as I learned) and in sorted order. #+##&~Fold~#
(a golfuscated version of #~FromDigits~2
) converts a list of base-2 digits into the integer they represent.
Previous version, before Martin Ender's comment:
#~FromDigits~2&/@Permutations@Join[0&~Array~#,1&~Array~#2]&