Are there more rational numbers than integers? I've been told that there are precisely the same number of rationals as there are of integers. The set of rationals is countably infinite, therefore every rational can be associated with a positive integer, therefore there are the same number of rationals as integers. I've ignored sign-related issues, but these are easily handled.
To count the rationals, consider sets of rationals where the denominator and numerator are positive and sum to some constant. If the constant is 2 there's 1/1. If the constant is 3, there's 1/2 and 2/1. If the constant is 4 there's 1/3, 2/2 and 3/1. So far we have counted out 6 rationals, and if we continue long enough, we will eventually count to any specific rational you care to mention.
The trouble is, I find this very hard to accept. I have two reasons. First, this logic seems to assume that infinity is a finite number. You can count to and number any rational, but you cannot number all rationals. You can't even count all positive integers. Infinity is code for "no matter how far you count, you have never counted enough". If it were possible to count to infinity, it would be possible to count one step less and stop at count infinity-1 which must be different to infinity.
The second reason is that it's very easy to construct alternative mappings. Between zero and one there are infinitely many rational numbers, between one and two there are infinitely many rational numbers, and so on. To me, this seems a much more reasonable approach, implying that there are infinite rational numbers for every integer.
But even then, this is just one of many alternative ways to map between ranges of rationals and ranges of integers. Since you can count the rationals, you can equally count stepping by any amount for each rational. You can use 1..10 for the first rational and 11..20 for the second etc. Or 1..100 and 101..200 etc, or 1..1000 and 1001..2000 etc. You can map finite range of integers of any size to each rational this way and, since there is no finite upper bound to the stepping amount, you could argue there are potentially infinite integers for every single rational.
So... can anyone convince me that there is a single unambiguous correct answer to this question? Are there more rational numbers than integers, or not?
EDIT
Although I've already accepted an answer, I'll just add some extra context.
My reason for questioning this relates to the Hilbert space-filling curve. I find this interesting because of applications to multi-dimensional indexing data structures in software. However, I found Hilberts claim that the Hilbert curve literally filled a multi-dimensional space hard to accept.
As mentioned in a comment below, a one meter line segment and a two meter line segment can both be seen as sets of points and, but (by the logic in answers below), those two sets are both the same size (cardinality). Yet we would not claim the two line segments are both the same size. The lengths are finite and different. Going beyond this, we most certainly wouldn't claim that the size of any finite straight line segment is equal to the size of a one-meter-by-one-meter square.
The Hilbert curve reasoning makes sense now - the set of points in the curve is equal to the set of points in the space it fills. Previously, I was thinking too much about basic geometry, and couldn't accept the size of a curve as being equal to the size of a space. However, this isn't based on a fallacious counting-to-infinity argument - it's a necessary consequence of an alternative line of reasoning. The two constructs are equal because they both represent the same set of points. The area/volume/etc of the curve follows from that.
 A: You may not be very satisfied with this answer, but I'll try to explain anyway.
Countability. We're not really talking about whether you can "count all of the rationals", using some finite process. Obviously, if there is an infinite number of elements, you cannot count them in a finite amount of time using any reasonable process. The question is whether there is the same number of rationals as there are positive integers; this is what it means for a set to be "countable" --- for there to exist a one-to-one mapping from the positive integers to the set in question. You have described such a mapping, and therefore the rationals are "countable". (You may disagree with the terminology, but this does not affect whether the concept that it labels is coherent.)
Alternative mappings. You seem to be dissatisfied with the fact that, unlike the case of a finite set, you can define an injection from the natural numbers to the rationals which is not surjective --- that you can in fact define a more general relation in which each integer is related to infinitely many rationals, but no two integers are related to the same rational numbers. Well, two can play at that game: you can define a relation in which every rational number is related to infinitely many integers, and no two rationals are related to the same integers! Just define the relation that each positive rational a/b is related to all numbers which are divisible by 2a but not 2a+1, and by 3b but not 3b+1; or more generally respectively 2ka and 3kb for any positive integer k. (There are, as you say, sign issues, but these can be smoothed away.) 
You might complain that the relation I've defined isn't "natural". Perhaps you have in mind the fact that the integers are a subset of the rationals --- a subgroup, in fact, taking both of them as additive groups --- and that the factor group ℚ/ℤ is infinite. Well, this is definitely interesting, and it's a natural sort of structure to be interested in. But it's more than what the issue of "mere cardinality" is trying to get at: set theory is interested in size regardless of structure, and so we don't restrict to maps which have one or another kind of "naturalness" about them. Of course, if you are interested in mappings which respect some sort of structure, you can build theories of size based on that: this is what is done in measure theory (with measure), linear algebra (with dimension), and indeed group theory (with index). So if you don't like cardinality as set theorists conceive it, you can look at more structured measures of size that you find more interesting!
Immediate predecessors. A somewhat unrelated (but still important) complaint that you make is this: "If it were possible to count to infinity, it would be possible to count one step less and stop at count infinity-1 which must be different to infinity." The question is: why would you necessarily be able to stop at 'infinity minus one'? This is true for finite collections, but it does not necessarily hold that anything which is true of finite collections is true also for infinite ones. (In fact, obviously, some things necessarily will fail.) --- This is important if you study ordinals, which mirrors the process of counting itself in some ways (labelling things as being "first", "second", "third", and so forth), because of the concept of a limit ordinal: the first "infinitieth" element of a well-ordering doesn't have any immediate predecessors! Again, you are free to say that these are concepts that you are not interested in exploring personally, but this does not mean that they are necessarily incoherent.
To summarize: the set theorists measure "the size of a set" using a simple definition which doesn't care about structure, and which may violate your intuitions if you like to take the structure of the integers (and the rational numbers) very seriously, and also want to preserve your intuitions about finite sets. There are two solutions to this: try to stretch your intuition to accomodate the ideas of the set theorists, or study a different branch of math which you find more interesting!
A: In mathematics a set is called infinite if it can be put into a 1-1 correspondence with a proper subset of it, and finite it is not infinite. (I know it seems crazy to have the concept of infinite as primitive and finite as a derivate, but it's simpler to do this, since otherwise you must assume that the integers exist before saying that a set is finite)
As for your remarks: 
- with your method (if you don't forget to throw out fractions like 4/6 which is equal to 2/3) you actually counted the rationals, since for each number you have a function which associates it to a natural number. It's true that you cannot count ALL rationals, or all integers; but you cannot either draw a whole straight line, can you?
- with infinite sets you may build infinite mappings, but you just need a single 1-1 mapping to show that two sets are equal.
A: Mathematicians have very precise definitions for terms like "infinite" and "same size".  The single unambiguous correct answer to this question is that using the standard mathematical definitions, the rationals have the "same size" as the integers.
First, here are the definitions:

*

*Define "$0$" = emptyset, "$1$" $= \{0\}$, "$2$" $= \{0,1\}$, "$3$" $= \{0,1,2\}$, etc.  So, the number "n" is really a set with $n$ elements in it.


*A set $A$ is called "finite" iff there is some $n$ and a function $f:A\to n$ which is bijective.


*A set $A$ is called "infinite" iff it is not finite. (Note that this notion says nothing about "counting never stops" or anything like that.)


*Two sets $A$ and $B$ are said to have the "same size" if there is a function $f:A\to B$ which is a bijection.  Note that we do NOT require that ALL functions be bijections, just that there is SOME bijection.
Once one accepts these definitions, one can prove that the rationals and integers have the same size. One just needs to find a particular bijection between the two sets. If you don't like the one you mentioned in your post, may I suggest the Calkin-Wilf enumeration of the rationals?
Of course, these give bijections between the naturals (without $0$) and the rationals, but once you have a bijection like this, it's easy to construct a bijection from the integers to the rationals by composing with a bijection from the integers to the positive natural numbers.
A: The cardinality of the set of rationals is the same as the cardinality of the integers is the same as the cardinality of the natural numbers. 
When we count a finite set of elements, we are constructing a one-one map from the set onto a finite initial segment of the natural numbers. If we want to know if two finite sets have the same cardinality (are equi-cardinal) we can either: 1) count both sets and see if we get the same number, or 2) attempt to construct a one-one map from one set onto the other. If we can construct the map aimed at in (2), then the sets are equi-cardinal. 
Generalizing that procedure from the finite sets to arbitrary sets, we get that for any two sets, the sets have the same cardinality (are equi-cardinal) if there exists a bijection (a one-one map between the sets that is onto the target rather than merely into). For the finite case, if there is a one-one map that is a bijection, all one-one maps are bijective. That is not the case for infinite sets, which is the root of your second concern.
To address that second concern, consider the map from the negative integers to the positive integers which maps each negative integer to its absolute value. The existence of that map shows that the two sets are equi-cardinal. We can, of course, construct one-one maps from the negative integers to the positive integers that are into rather than on to. (Consider the map that takes each negative integer to its product with -2.) But, the existence of these alternative maps doesn't affect the fact that there is at least one bijection between the sets, and that is all it takes for those sets to be equi-cardinal.
As for your first concern, I don't see why you think the procedure assumes that "infinity is a finite number". What it involves is specifying a mapping function from one set to the other that is one-one and onto. That attempt can certainly fail, as Cantor's Diagonalization Argument that the cardinality of a set is always strictly less than the cardinality of its power set shows. (A relevant application of that technique is the well-known proof that the cardinality of the reals is greater than the cardinality of the natural numbers.)
A: You can think about it a different way. Consider the set of real numbers between 0 and 1, and then the set of real numbers between 0 and 2.
By intuition, it seems that the set of real numbers between 0 and 2 has double the size of the set between 0 and 1. However, this is not the case, because the two sets have the same cardinality.
Consider the function $f(x) = 2x$. Every real between 0 and 1 is bijected to a real between 0 and 2. Therefore the sets are of the same size.
A: I will give you my favorite argument to prove there is a bijection between $\mathbb{Z}$ and $\mathbb{Q}$, and, for me, this one is truly convincing (at least, as convincing as the bijection between $\mathbb{N}$ and $\mathbb{Z}$).
Alternative argument:
Let's begin by constructing a bijection between the positive integers $\mathbb{Z}^+$ and the positive rationals $\mathbb{Q}^+$. Once this bijection is constructed, it can be easily extended to the rest of the set.
To construct the bijection, note that every positive integer $m$ can be uniquely written as a product of primes:
$$m=p_1^{a_1}\cdot p_2^{a_2}\cdot p_3^{a_3}\cdot p_4^{a_4}\cdots = 2^{a_1}\cdot 3^{a_2}\cdot 5^{a_3}\cdot 7^{a_4}\cdots,$$
that is to say, as an (infinite) product of prime powers whose exponents $(a_1,a_2,\ldots)$, all natural numbers, are all $0$ except for a finite number of them. We hence identify every positive integer with said unique sequence of natural numbers $(a_1,a_2,\ldots)$. This is a well-known fact (Fundamental Theorem of Arithmetic).
Note that a similar thing can be said about rational numbers. Every rational number $q$ can be uniquely written as a product of prime powers:
$$q=p_1^{b_1}\cdot p_2^{b_2}\cdot p_3^{b_3}\cdot p_4^{b_4}\cdots = 2^{b_1}\cdot 3^{b_2}\cdot 5^{b_3}\cdot 7^{b_4}\cdots,$$
but now the exponents are integers. The rest stays the same (only a finite number of $b_i$'s are nonzero). In this case, we state that for every rational number, there exists one and only one such sequence of integers $(b_1,b_2,\ldots)$.
Now, we are ready to construct the bijection $h_+:\mathbb{Z}^+\to\mathbb{Q}^+$. For that, recall that there exists a bijection $s:\mathbb{N}\to\mathbb{Z}$ such that $s(0)=0$. Then, for every integer $m$, we define
$$h_+(m)=h_+(2^{a_1}\cdot 3^{a_2}\cdot 5^{a_3}\cdot 7^{a_4}\cdots)=2^{s(a_1)}\cdot 3^{s(a_2)}\cdot 5^{s(a_3)}\cdot 7^{s(a_4)}\cdots$$
Because of the things we said earlier, $h_+$ is a bijection. Now, to extend the mapping and get another bijection $h:\mathbb{Z}\to\mathbb{Q}$, simply define $h(m)=h_+(m)$ for every positive integer $m$, $h(n)=-h_+(-n)$ for every negative integer $n$, and $h(0)=0$. With all that, $h$ is a bijection.
This argument only uses two simple facts about $\mathbb{Z}$ and $\mathbb{Q}$, and the (more convincing) bijection between $\mathbb{N}$ and $\mathbb{Z}$. So yes, there are as many integers as rational numbers as there are as many natural numbers as integers.
