C++的整型字面量和二进制数

  次阅读 作者:智能小宝 来源:互联网 2016-01-26 10:33 我要评论(0)

整型字面量

可以用非常直接的方式表示整型字面量。下面是一些例子:

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位二进 制数相加的过程。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...