Imagine a gas molecule in a closed box bouncing vertically between the top and bottom of the box. Let's suppose the mass of the gas molecule is $m$ and its speed at the top of the box is $v_t$.
When the gas molecule moving upwards hits the top of the box and bounces back the change in momentum is $2mv_t$. If it does this $N$ times a second then the rate of change of momentum is $2Nmv_t$, and rate of change of momentum is just force, so the upwards force the molecule exerts is:
$$ F_\text{up} = 2Nmv_t $$
And the same argument tells us that if the velocity of the molecule at the bottom of the box is $v_b$, then the downwards force it exerts on the bottom of the box is:
$$ F_\text{down} = 2Nmv_b $$
So the net downwards force is:
$$ F_\text{net} = 2Nmv_b - 2Nmv_t = 2Nm(v_b - v_t) \tag{1} $$
But when the molecule leaves the top of the box and starts heading downwards it is accelerated by the gravitational force so when it reaches the bottom it has speeded up i.e. $v_b \gt v_t$. So that means our net downward force is going to be positive i.e. the molecule has a weight.
We can make this quantitative by using one of the SUVAT (see 'Physics For You' by Keith Johnson) equations:
$$ v = u + at $$
Which in this case gives us:
$$ v_b - v_t = gt $$
where $t$ is the time the molecule takes to get from the top of the box to the bottom. The number of times per second it makes this round trip is:
$$ N = \frac{1}{2t} $$
Substituting these into our equation (1) for the force we get:
$$ F_\text{net} = 2 \frac{1}{2t} m(gt) = mg $$
And $mg$ is of course just the weight of the molecule.