$\mathbb{R}$是不可数的.
下面我给出一种自己的证明方法. 它通过证明实数集和$2^{\mathbb{N}}$之间存在双射,把证明实数集不可数这个问题转化成了证明$2^{\mathbb{N}}$不可数的问题,而后者已经解决.
————————证明过程————————
因为$\mathbb{R}$和$[0,1]$之间存在双射,所以只用证$[0,1]$不可数即可.
先证明存在$[0,1]$到$2^\mathbb{N}$的单射.设$x\in[0,1]$,把区间$[0,1]$进行$2^n(n\in\mathbb{N})$等分,记$x$左边(等分点包括$0,1$)的等分点的个数为$x(n)$.易得$f:\mathbb{N}\to x(\mathbb{N})$是从$\mathbb{N}$到$\mathbb{N}$的函数.$U_x=\{x(n):\forall n\in\mathbb{N}\}$是$\mathbb{N}$的子集.易得唯一的$x$确定唯一的$U_x$(为什么?).因此,存在$[0,1]$到$2^\mathbb{N}$的单射.
下证存在$2^{\mathbb{N}\backslash\{0,1\}}$到$[0,1]$的单射.根据良序原理,$\mathbb{N}\backslash\{0,1\}$的任何一个非空子集$U$中的元素都可以按从小到大的顺序排列.比如,任何一个$U$的元素按从小到大排列如下:
$$a_0< a_1< \cdots < a_n < \cdots$$
然后我们这样:将$[0,1]$进行$a_0(a_0\geq 2)$等分.取第一个(不是0)等分点.然后把$[\frac{1}{a_0},1]$进行$a_1$等分,取第1个等分点……这样子一直进行下去,等分点将到达(如果$U$是有限集)或无限趋于(如果$U$无限)一个实数.最终每一个$U$将对应唯一的$[0,1]$中的实数.因此存在$2^{\mathbb{N}\backslash\{0,1\}}$到$[0,1]$的单射.因此存在$2^{\mathbb{N}}$到$\mathbb{R}$的单射.
综上所述,存在$\mathbb{R}$到$2^\mathbb{N}$的单射,也存在$2^\mathbb{N}$到$\mathbb{R}$的单射.根据集合论里的康托-伯恩斯坦定理,存在$\mathbb{R}$到$2^\mathbb{N}$的双射.而我们知道,$2^\mathbb{N}$是不可数的,所以$\mathbb{R}$是不可数的.