All of the roles/services you mentioned can be easily virtualized and are fully supported by Microsoft as virtualized workloads. My suggestion would be to install the OS and the Hyper-V role on the physical server and virtualize your DC, SQL, IIS and Exchange servers. Read the following to understand Windows Server 2012 licensing for virtualized workloads:
http://www.microsoft.com/licensing/about-licensing/briefs/win2008-virtual.aspx
As far as the hardware is concerned you'll need to give us some specific specs, but almost any server class hardware will support virtualized workloads. The number of virtualized workloads is dependent upon the number and type of processors and the amount of RAM installed.
EDIT
To clarify the terms used when talking about virtualization:
Hypervisor: This is the component/software that you install that allows you to create virtualized workloads (virtual machines). There are basically two types of hypervisors; Type 1 and Type 2. Type 1 hypervisors install on bare metal (installed directly on the physical server). Examples of Type 1 hypervisors are VMware vSphere, Windows Hyper-V and Citrix XenServer. Type 2 hypervisors install within the operating system running on a physical host. Examples of Type 2 hypervisors are VMware Player and VirtualBox.
Host: This is the physical machine that hosts the hypervisor component, whether Type 1 or Type 2.
Guest: This is the virtualized workload/virtual machine that is running within the hypervisor.
What I'm suggesting is that you install Windows Server 2012 w/ the Hyper-V role on a single physical server and then create virtual machines within Hyper-V for the workloads you've described. The workloads are the virtual machines that will be running AD DS, SQL, IIS and Exchange.
You're going to need more than 8GB of RAM but you should check the system requirements for the host OS and for each workload before purchasing the server and RAM to make sure both will support the amount of RAM you're going to need.