The **Domain** is the list of all #x# values that are allowable in the function.

When answer Domain questions, I like to look at what happens when I set #x=0, oo, -oo# and any other value that might cause the function to not operate.

When #x=0, y=2^0=1# and so no problem there

When #x=oo, y=2^(oo)=oo# and so no problem there

When #x=-oo, y=2^(-oo)=1/(2^(oo))=0# and so no problem there

In fact, there are no #x# values that are disallowed, and so we can say that all real numbers are in the list of allowable values. We can write that in math terms as:

#x in RR#

The **Range** is the list of all resulting Domain values (and is usually the list of #y# values). We've already seen that #y# can be 0, can be 1, can be infinitely big. We can't make #y# be less than 0 - there is no #x# value we can plug in that will make #y# negative. We can write that as:

#y>=0#

We can see this is the graph of #y=2^x#:

graph{2^x [-5,10,-5,20]}