@Matt Grum has the full-blown formula. Here's the rule of thumb I use for finding frame coverage in the field.
- Choose your preferred fill direction: horizontal or vertical.
- Know your sensor size in this direction.
- Wikipedia has a good list of sensor sizes.
- This should be relatively easy to memorize, since there's only two numbers for a given camera/sensor.
- Of course, camera orientation matters. If you're holding your camera sideways (ie: "portrait mode"), and you want to fill the frame vertically, you'll want the sensor width, not height.
- Divide your lens' focal length by this sensor size dimension. This gets you a ratio/multiplication factor.
- Multiply the size of the subject by the ratio in step #3 to get the distance to the object for 100% coverage.
You can easily trade off distance, focal length, or fill percentage depending on your shooting circumstances.
So, for example, let's say I want to take a full-body shot of a person that's 2m tall. My APS-C Nikon D90 has a sensor that's about 24mm wide. If I shoot with my 50mm lens, I know that it has roughly a 2x distance factor to it... so I want to be at least twice as far away from my subject as he is tall: 4m. If I only have 2m to work with, then I'll need a 24mm lens, or shoot only his top half.
Assuming you have an APS-C Canon sensor, then the full 300mm zoom on your lens would give you a distance factor of about 20 (in landscape/wide orientation). If you only fill 50% of your frame height, you'll need to be 4m away from a 10cm-high bird; that doesn't seem like a lot to me. That's why serious birders use huge telephoto lenses and teleconverters; they need every bit of magnification to capture their tiny subjects from far away.