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

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

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

时间: 2024-08-02 23:28:10

数据表示字面量整型字面量的相关文章

旌旗灯号量:整型、记载型旌旗灯号量以及应用旌旗灯号量完成过程互斥和前驱关系

旌旗灯号量机构是一种功用较强的机制,可用来处理互斥与同步的成绩,它只能被两个规范的原语wait(S)和signal(S)来拜访,也可以记为"P操作"和"V操作".原语是指完成某种功用且不被联系不被中缀履行的操作序列,平日可由硬件来完成完成不被联系履行特征的功用.如前述的"Test-and-Set"和"Swap"指令,就是由硬件完成的原子操作.原语功用的不被中缀履行特征在单处置机时可由软件经过屏障中缀办法完成.原语之所以不克不及

Swift编程语言学习——数值型字面量、数值类型转换

数值型字面量 整数字面量可以被写作: 一个十进制数,没有前缀 一个二进制数,前缀是0b 一个八进制数,前缀是0o 一个十六进制数,前缀是0x 下面的所有整数字面量的十进制值都是17: let decimalInteger = 17 let binaryInteger = 0b10001 // 二进制的17 let octalInteger = 0o21 // 八进制的17 let hexadecimalInteger = 0x11 // 十六进制的17 浮点字面量可以是十进制(没有前缀)或者是十

GO語言基礎教程:數據類型,變量,常量

GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左大括號,這是一個新的特性,至少在我接觸的編程語言中第一次遇到這種狀況.還有就是GO對大小寫敏感,這一點相信大家不會有什麽爭議.    GO語言的註釋方法和PHP是相同的,單行註釋用//,而多行註釋用/*註釋內容*/,這一點是沒差別的. Go有眾所周知的數據類型int,這個類型很特殊,他會自動根據您的

再回首,Java温故知新(三):Java基本数据类型之整型

注:因为此次学习打算看一遍相关Java源码,所以更新速度一开始会相对慢一些.还有就是不得不佩服那群大牛啊,算法不是一时半会能懂的,本来打算直接弄懂的,后来感觉这样效率太低了,所以决定大体上通读一遍,反正以后肯定还会回来再次学习. Java作为一种强类型语言,意味着每一个变量都会有特定的类型,Java共有8种基本类型,其中有4种整型(byte.short.int.long).两种浮点型(float.double).1种字符型(char)和一种布尔型(boolean),值得注意的是,虽然字符串Str

[C/C++]如何将一个无符号整型所有数据位置为1

正解「x = -1;」 -1超出无符号整型x的表达范围,根据标准(C++11 section 4.7.2),-1将被转化为2^n-1(n为x的bit数). 不正解 「x = 0xFFFFFFFF;」 这只适用于32bit整型. 不正解「x = ~0;」 这个被很多书认定为「标准答案」的解答也是错的.C/C++标准支持原码/反码/补码三种负数表示形式,只有在补码环境下才会得到正确结果.(例如在反码下,~0将得到-0,-0转为无符号仍然是0) 那么x = ~0u呢? 仍然是错的.根据标准(C++11

整型信号量与记录型信号量

信号量机构是一种功能较强的机制,可用来解决互斥与同步的问题,它只能被两个标准的原语wait(S)和signal(S)来访问,也可以记为"P操作"和"V操作". 原语是指完成某种功能且不被分割不被中断执行的操作序列,通常可由硬件来实现完成不被分割执行特性的功能.如前述的"Test-and-Set"和"Swap"指令,就是由硬件实现的原子操作.原语功能的不被中断执行特性在单处理机时可由软件通过屏蔽中断方法实现. 原语之所以不能被中

编译器是如何实现32位整型的常量整数除法优化的?[C/C++]

引子 在我之前的一篇文章[ ThoughtWorks代码挑战——FizzBuzzWhizz游戏 通用高速版(C/C++ & C#) ]里曾经提到过编译器在处理被除数为常数的除法时,是有优化的,今天整理出来,一来可以了解是怎么实现的,二来如果你哪天要写编译器,这个理论可以用得上.此外,也算我的一个笔记. 实例 我们先来看一看编译器优化的实例.我们所说的被除数为常数的整数除法(针对无符号整型, 有符号整型我们后面再讨论),指的是,对于unsigned int a, b, c,例如:a / 10, b

变量常量整型浮点型

变量:可以改变的量    int a=5;a=10; 常量:不可以改变的量    语法: final 数据类型 常量名称=常量值 如:   final int a=123; final double p = 3.14;      常量声明后不可以改变,否则报错; 整数的四种声明类型: byte丶short丶int丶long long类型赋值必须加L后缀,否则造成精度的丢失会报错 整型: 十进制: int a=3; 八进制:int b=033;    十六进制: int c=0x33;     浮

3.3.1 整型

整型用于表示没有小数部分的数值,它允许是负值.Java提供了4种整型. 类型 存储需求 int 4 字节 short 2 字节 long 8 字节 byte 1 字节 在通常情况下,int类型最常用.但如果表示的数很大就需要用long类型,如地球上的人口总数. byte 和 short 类型主要用于特定的应用场合,如底层的文件处理或者需要控制占用存储空间量的大数组. 在Java中,整型的范围与运行Java代码的机器无关.解决了软件从一个平台移植到另一个平台,或者在同一个平台的不同操作系统之间进行