Is my brain or my TMP36 broken?

This should work:

float tempvoltage = analogRead(tempsensorpin) * 5.0;
  tempvoltage /= 1024.0;
  float temp = (tempvoltage - 0.5) * 100;

As long as you have a 5v arduino!

if you are still getting readings of 293+, then have a close look at your sensor, you probably have an LM335 instead of a 36GZ... In that case, simply add the line:

temp = temp - 273.15

to the end of the above.

I happen to have both of these sensors in front of me