zoukankan      html  css  js  c++  java
  • 数据表示字面量整型字面量

    数据表示字面量整型字面量

    编写程序,首先面对的是数据。在程序中,数据该如何表示出来?根据表示的方式不同,数据通常有两种表示方式:直观表示和指代表示。本章将详细讲解这两种表示方式本文选自明明白白学C#大学霸

    1.1  数据的直观表示——字面量

    在代码编写中,数据往往是可以直接写到代码中的。对于这些数据,人们可以通过字面所表达的意思,获知其含义,所以它们也被称为字面量。字面量也叫常量。根据字面量所代表的数据内容,分为数字字面量和文本字面量。本节将先讲解数字字面量本文选自明明白白学C#大学霸

    根据是否带小数部分,数字数据又分为整数和小数。因此数字字面量也分为整型字面量和浮点型字面量。下面分别来看这两种字面量。

    1.1.1  整型字面量

    整数是最简单、最常用的数据形式。我们日常写的100、32都是整数。在编程语言中,这种写作方式被称为十进制整数。为了规范写法,编程中对十进制整数的写法,提出以下规定:

    q  十进制整数是以10为基础的数字系统,逢十进一。

    q  由0、1、2、3、4、5、6、7、8、9十个基本数字组成。

    q  十进制整数不能以0开头。

    十进制表达方式最贴近人们使用习惯,所以用途最广泛。但在编程中,还有一些特殊领域,使用十进制就不是很方便。

    1.十六进制

    【示例1-1】在计算机中,每种颜色都由红、绿、蓝三种颜色搭配而成。而每种颜色通常使用0~255来表示颜色深度,也就是8位二进制数字。然后将表示三种颜色三组8位二进制数字,连接起来构成一个数字。这个数字就是这个颜色的值。构成如图1.1所示。

     

    图1.1.  颜色构成

    例如,褐色由102的红色、51的绿色、0的蓝色构成。十进制表达就是6697728。这样的一个数字很难去看出颜色的构成。

    为了方便编程人员设定颜色值,我们可以使用十六进制写法。十六进制的写作规范如下:

    q  十六进制整数是以16为基础的数字系统,逢十六进一,借一当十六。

    q  由0~9,A~F组成。其中,A~F分别对应10~15。

    q  十六进制数的表示以0x或0X作为前缀。

    对于褐色就可以写为0x663300。其中,0x是十六进制前缀。而66是102的十六进制写法;33是51的十六进制写法;00是0的十六进制写法。与十进制的6697728相比,十六进制的0x663300就直观多了。编程人员可以很轻松设置颜色值。

    对于十六进制和十进制的转换,这里给出一个简单的方法。打开Windows计算器,在“查看”菜单的下拉列表中选择“程序员”项。在打开的计算器中选择“十六进制”,然后输入A,再单击“十进制”,就会显示十六进制数A对应的十进制数10。转换十进制与十六进制的程序员计算器如图1.2所示。

     

    图1.2  程序员计算器

    2.八进制

    除了十六进制和十进制,还有另外一种常见的进制——八进制。下面我们再看一个经典的例子。

    【示例1-2】在超级玛丽游戏中,共有八大关。而每大关分为四小关。而每个小关中由两个场景构成。超级玛丽游戏界面与关卡设置如图1.3和1.4所示。在图1.3中,游戏进行到第一大关的第二小关的第一个场景。这时候对应整个游戏的场景编号为2。而整个游戏的进度都是通过场景编号来记录和标识的。

     

    图1.3  超级玛丽游戏界面                                图1.4  超级玛丽游戏关卡

    当游戏开发者让玛丽进入第八大关的第一小关第一个场景。这是,如果使用十进制规范表示,当前游戏进度为场景56。对于这样的一个数字,开发者必须手工计算才能得出来。万一计算错误,玛丽就该“穿越”了。这个时候,就可以使用八进制的形式来表示。八进制的写作规范如下:

    q  八进制整数是以8为基础的数字系统,逢八进一。

    q  由0~7组成。

    q  八进制数必须以0作为前缀。

    对于场景56就可以写为070。即八进制数070与十进制数56具有相同的意义。使用八进制数070可以很直观地看出当前游戏进度为第八大关第一小关。

    对于八进制和十进制的转换,这里给出一个简单的方法。打开Windows计算器,在“查看”菜单的下拉列表中选择“程序员”项。在打开的计算器中选择“八进制”,然后输入70,再单击“十进制”,就会显示八进制数70对应的十进制数56。

    注意:为了区分八进制与十进制整数,八进制整数以0作为前缀。而为了区分八进制与十六进制,十六进制整数以0x或0X作为前缀本文选自明明白白学C#大学霸

  • 相关阅读:
    jquery--blur()事件,在页面加载时自动获取焦点
    jquery三级联动
    工具集
    兼容各个浏览器:禁止鼠标选择文字事件
    jquery 事件委托(利用冒泡)
    小功能1:多种方法实现网页加载进度条
    JavaSE| 泛型
    SSM整合
    Redis数据库 02事务| 持久化| 主从复制| 集群
    Hadoop| MapperReduce02 框架原理
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/4453573.html
Copyright © 2011-2022 走看看