DHT11 Temperature and Humidity pull up resistor?

Im aware of the rounding errors and the time for the sensor to adjust etc, I admit im only using the dht11 test code found here: http://www.hobbyist.co.nz/?q=documentations/wiring-up-dht11-temp-humidity-sensor-to-your-arduino. They recently updated it from the previous code which included a checksum, but for some reason it kept freezing; this is the first code ive been able to run continously for days at a time.

And it works well for the most part, it actually seems to adjust pretty well, but before I saw it flicking between 16 and 19 degrees. It normally only does that by one degree. Surely a difference of 3 degrees cant be due to truncating?

In this tutorial they dont include a pull-up resistor, and im curious to its function. If its sending the information as bit streams which is just a series of high/low pins then why does it need a resistor? Im just trying to figure out if it can explain why theres a jump in temperature.

Does it matter if I ground the dht with the gnd on the power side? Because the gnd on the digital side feels really loose, and might also be the cause of the problems above.