C++的整型字面量和二进制数 |
|
整型字面量 可以用十分直接的 模式 示意整型字面量 。下面是一些例子: –123 +123 123 22333 其中,前两个例子中的“+”和“–”号是前面提及的一元运算符 。在第二个例子中, 可以省略“+”,由于这是默许的,但为了使该数值的 含意更清楚,外加“+”也不会出问题 。字面量+123与123是 雷同的 。第4个例子在一般状况下写为22,333,但在整型字面量中不能 使用逗号 。假如 使用了逗号,编译器就会把该数值当做用逗号分隔开的两个数值 。 也不能 使用老式的整数值 。举一个 极其的例子,系统不 承受有100位的整数 。整型字面量是有上限和下限的,这是由存储每 品种型的整数值的内存量决定的 。本章在后面介绍整型变量时将 探讨这个问题 。 固然, 可以把整型字面量写成小数值,在计算机中这些值将存储为二进制数值 。在编程时 了解二进制是十分主要的,为了 预防读者对二进制数字的工作 模式有 误会,下面就简要介绍一下 。 二进制数 首先考量一下在 示意常见的十进制数,如324或911,时会做什么 。显然,324是 示意三百二十四,911 示意九百一十一 。更明确地说,这两个数 示意: 324是:3×102+2×101+4×100,也便是3×10×10+2×10+4 911是:9×102+1×101+1×100,也便是9×10×10+1×10+1 这称为十进制 示意法,由于这是 构建在10的幂的 根底之上( 起源于拉丁词decimalis,其 含意是什一税,即税的10%) 。 以这种 模式 示意数值十分容易,由于人有10根手指或10根脚趾或者10个任何类型的 从属物 。然而,这对PC就不太容易了,由于PC主要以开关为 根底,即开和关,加起来惟独2,而不是10 。这便是计算机用基数2来 示意数值,而不是用基数10的主要缘由 。这称为二进制计数系统 。数字不得不是0或1,当只用开/关来 示意数字时,这是很 事实的 。依照基数为10的计数系统的 步骤,二进制数1101就 可以分解为: 1×23+1×22+0×21+1×20,也便是1×2×2×2+1×2×2+0×2+1 计算得13(十进制系统) 。在表2-1中,列出了用8个二进制数字 示意的对应的十进制值(二进制数字 一般称为位) 。 表2-1
留神 使用前7位 可以 示意从0到127的数,一共27个数, 使用所有8位 可以 示意256(即28)个数 。一般状况下,假如有n位,就 可以 示意2n个整数,其值从0到2n-1 。 在计算机中,二进制数相加是十分容易的,由于对应数字加起来的进位不得不是0或1,所以 解决过程会十分 容易 。图2-1中的例子演示了两个8位二进制数相加的过程 。
|