The classic (Unix/C) model for a compiler runs in phases:
preprocessing (conditionals, macros, includes, etc)
actual compilation to textual assembly code
assembling the assembly code to a relocatable file
linking (usually) relocatable files with libraries into an executable (an executable file contains binary codes, as Vibhor16 says, together with loading and debugging information)
These phases sometimes blur together. Some optimizations (and, therefore code generation) can happen in the linking step/ A great speed-up can occur if preprocessing and compilation are merged.
This sequence can be interrupted by options, so that you can get just the preprocessed source code, or the assembly code, or the relocatable file, stopping before the next phase.

I forgot the download part of your question. The hard way, with GCC or any open-source compiler, is to download the source and try to build it. This takes a lot of experience. And, you can download pre-built binaries from various places on the web, like here:
http://sourceware.org/cygwin/
or here:
http://www.mingw.org/.
I'd be interested to hear which of those sites was easier to use. Things change quickly and I haven't used either on for a while.