当前位置:文档之家› FP的技巧与数据类型

FP的技巧与数据类型

FP的技巧与数据类型
FP的技巧与数据类型

FP的技巧与数据类型

[日期:2005-11-05]来源:作者:myheimu[字体:大中小] FreePascal中的基本数据类型

预定义整型

类型范围长度(字节)

Byte0..2551

Shortint-128..1271

Smallint-32768..327672

Word0..655352

Integer either smallint,longint or int64size2,4or8

Cardinal either word,longword or qword size2,4or8

Longint-2147483648..21474836474

Longword0..42949672954

Int64-9223372036854775808..92233720368547758078

QWord0..184467440737095516158

支持的实型

类型范围有效宽度长度(字节)

Real platform dependant???4or8

Single 1.5E-45..3.4E387-84

Double 5.0E-324..1.7E30815-168

Extended1.9E-4951..1.1E493219-2010

Comp-2E64+1..2E63-119-208

MAXINT和MAXLONGINT分别代表最大的INTEGER和LONGINT,则最小的就分别为MAXINT-1和MAXLONGINT-1

Free Pascal和Turbo Pascal的主要区别

虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的:

1.Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器;2.Free Pascal是一个跨平台的编译器,而Turbo Pascal只在windows上使用。

如果你的代码是遵守ANSI Pascal的,那么代码从Turbo Pascal移植到Free Pas cal是没有问题的。

下面是在Turbo Pascal上可以使用,但是在Free Pascal就不能使用的一些语言特性:

1.函数和过程在使用时,参数的类型必须和定义时完全一致。原因是在Free Pa scal中添加了函数重载功能。

2.PROTECTED,PUBLIC,PUBLISHED,TRY,FINALLY,EXCEPT,RAIS E成为了关键字,因此不能作为函数和过程的名字。

3.FAR,NEAR不再是关键字了。原因是Free Pascal是32位系统,不再需要这些关键字。

4.布尔表达式不一定要全部进行计算。只要最终结果已经能够确定,就不再计算其它还没有计算的部分了。比如布尔表达式exp1AND exp2AND exp3,如果已知exp1的结果是false,那么怎么表达式的结果肯定是false,exp2和exp3就不用进行计算了。

5.在Free Pascal中,集合中的元素都是4个字节长的。

6.表达式执行的顺序是不确定的。比如对于表达式a:=g(2)+f(3);不保证g(2)一定在f(3)之前执行。

7.如果用Rewrite打开文件,那么文件就只能被写入了。如果需要读取这个文件,要对文件执行Reset。

8.Free Pascal在程序结束之前一定要关闭输出文件,否则输出文件可能不能被正确的写入。

9.Free Pascal理论上可以使用4GB的内存,因此实际上几乎可以使用系统中的所有剩余内存(除非赛题中有内存限制)。这是Free Pascal由于32位的编译器。但是对于Turbo Pascal来说,由于是16位的编译器,因此不能定义大小超过64KB 的数据类型和变量,并且在DOS实模式下可以使用的内存总数只有640KB。

下面是Free Pascal相对于Turbo Pascal扩充的一些功能:

1.函数可以返回复杂的类型,比如记录和数组。

2.在函数中,函数的返回值可以作为一个变量来处理。比如:

function a:longint;

begin

a:=12;

while a>4do

begin

{...}

end;

end;

这个例子在Turbo Pascal中,a>4会被认为是函数的递归调用,但是在Free Pasc al中会认为a只是一个变量。如果想在Free Pascal中实现递归调用,就要写成下面的形式:

function a:longint;

begin

a:=12;

{this is the recursive call}

if a()>4then

begin

{...}

end;

end;

3.exit可以接受一个参数作为函数的返回值。比如:

function a:longint;

begin

a:=12;

if a>4then

begin

exit(a*67);{函数的返回值就是a*67}

end;

end;

4.Free Pascal支持函数重载。可以用相同的名字定义不同的函数,只要这些函数的参数不同,就是不同的函数。比如:

procedure DoSomething(a:longint);

begin

{...}

end;

procedure DoSomething(a:real);

begin

{...}

end;

可以使用不同的参数类型longint或者real来调用不同的DoSomething过程。

由于这个功能,函数的提前声明必须有完整的参数声明:

procedure x(v:longint);forward;

{...}

procedure x;{这里定义的过程x重载了前面声明的过程x。因此这里的两个x是不同的}

begin

{...}

end;

5.Free Pascal容许运算符重载。比如,可以自己为矩阵运算定义一个“+”运算。6.Free Pascal在windows95及其以上的windows版本上支持长文件名。对于文件名,由于windows系统对大小写不敏感,因此在程序中,文件名的大小写是无关的。但是对于其它大小写敏感的系统,比如linux,程序中用到的文件名必须和系统中的文件名完全一致。但是由于信息学竞赛的评测系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。

(注:以上内容主要参考了参考文献[1])

参考文献:

[1]Users’manual for Free Pascal,version1.9.6,Document version2.0,Dec ember2004

Micha?l Van Canneyt,Florian Kl?mpfl

function binstr(value:longint;cnt:byte):string;

将value转二进制,取后cnt个字符所成字串

function lowercase(c:char or string):char or string;

upcase的反函数

procedure setlength(var s:string;len:longint);

将s长度定为len

function power(base,expon:real):real;

base的expon次方

strlcopy函数将一个字符串中的字符复制到另一个字符串中

strlen函数返回字符串中的字符数

strlfmt函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针strlicomp函数以最大长度比较两个字符串(不区分大小写)

strlower函数将字符串中的字符转换为小写

strmove函数将一个字符串中的字符复制到另一个字符串中

strnew函数在堆栈上分配一个字符串

strpas函数将以null结束的字符串转换为pascal类的字符串

strpcopy函数将pascal类的字符串复制为以null结束的字符串strplcopy函数从pascal类的最大长度字符串复制为以null结束的字符串strpos函数返回一个字符串在另一个字符串中首次出现指针

strrscan函数返回字符串中最后出现字符的指针

strscan函数返回字符串中出现首字符的指针

strtodate函数将字符串转换为日期格式

strtodatetime函数将字符串转换为日期/时间格式

strtofloat函数将给定的字符串转换为浮点数

strtoint函数将字符串转换为整型

strtointdef函数将字符串转换为整型或默认值

strtotime函数将字符串转换为时间格式

strupper函数将字符串中的字符转换为大写

style属性类型选择

suce函数返回后继的参数

swap函数交换参数的高低地址位

tabs属性标记每一项的内容

tabindex属性标记索引

text属性显示的文本

texttofloat函数将字符串(以null结束的格式)转换为浮点数

time函数返回当前的时间

timetostr函数将时间格式转换为字符串

trim函数从给定的字符串中删除前导和尾部的空格及控制字符

trimleft函数从给定的字符串中删除首部的空格及控制字符

trimright函数从给定的字符串中删除尾部的空格及控制字符

trunc函数将实型值截取为整型值

truncate函数截去当前文件位置后的内容

unselectedcolor属性未选中颜色

upcase将字符转换为大写

uppercase将给定的字符串变为大写

val函数将字符串转换为整型值

vararraycreate函数以给定的界限和维数建立变体数组

vararraydimcount函数返回给定变体的维数

vararrayhighbound函数返回给定变体数组维数的上界

vararraylock函数锁定给定的变体数组

vararraylowbound函数返回给定变体数组维数的下界

vararrayof函数返回指定变体的数组元素

vararrayredim函数通过改变上限来调整变体的大小

vararrayunlock函数解锁指定的变体数组

varastype函数将变体转换为指定的类型

varcase函数将变体转换为指定的类型并保存他

varclear函数清除指定的变体

varcopy函数将指定的变体复制为指定的变体

varformdatetime函数返回包含日期时间的变体

varisarray函数测试变体是否为数组

varisempty函数测试变体是否为unassigned varisnull函数测试变体是否为null vartodatetime函数将给定的变体转换为日期时间

vartype函数将变体转换为指定的类型并保存他

visible属性控件的可见性

wantreturns属性为true时,按回车键产生一个回车符;为false时,按下ctrl+ent er才产生回车符write命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件

数据库常用数据类型

(1) 整数型 整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。 l bigint:大整数,数范围为-263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度为19,小数位数为0,长度为8字节。 l int:整数,数范围为-231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度为10,小数位数为0,长度为4字节。 l smallint:短整数,数范围为-215 (-32768) ~215 - 1 (32767) ,其精度为5,小数位数为0,长度为2字节。 l tinyint:微短整数,数范围为0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。 (2) 精确整数型 精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。精确整数型包括decimal 和numeric两类。从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。 声明精确整数型数据的格式是numeric | decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。 decimal和numeric可存储从-1038 +1 到1038 –1 的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。 l 精度为1~9时,存储字节长度为5; l 精度为10~19时,存储字节长度为9; l 精度为20~28时,存储字节长度为13; l 精度为29~38时,存储字节长度为17。 例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。 注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。 (3) 浮点型 浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值范围非常大且对精确度要求不是十分高的数值量,如一些统计量。

C语言程序设计第二章-常用数据类型

第二章常用数据类型 【学习目标】 本章将学习一些基本的程序概念,如程序结构、标识符、章的学习要 关键字和注释等。本点包括如下几点: (1)了解C语言的基本结构。 (2)分号、块和空白的使用。 (3)标识符的约束规则。 (4)C关键字。 (5 )直接量的认识。 (6)注释的使用。 【学习导航】 本章的在整个课程中的位置如图2-1所示。 图2-1 本章学习导航

2.1 C语言基本程序结构 任何一种程序设计语言都具有特定的语法规则和规定的表达方法。一个程序只有严格按 照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也 便于阅读和理解。为了了解C语言的基本程序结构,请看【课堂案例2-1】。 【课堂案例2-1】在控制台输出“你好”。 【案例目标】会使用Xcode编辑器实现字符串输出 【案例知识要点】C语言的程序结构、基本输出语句 【案例程序代码】hello.c 1#i nclude 2 2mai n() 3{ 4printf(你好”); 5} 【案例代码说明】 第1行的作用是进行相关的预处理操作。include成为文件包含命令,<>里的内容称为 头文件。头文件一般的扩展名为.ho stdio就是指“ sta ndard in put & output"(标准输入输出),所以,源代码中如用到标准输入输出函数时,就要包含这个头文件。 第2行是一个空行。空行不会影响程序的功能。空行起着分隔程序段落的作用,适当使用空行将使程序的布局更加清晰,提高程序的可读性。空行不会浪费内存,所以不要舍不得 用空行。一般建议在头文件后插入一个空行。 第3行声明了一个main函数,main是函数名。关于函数的详细介绍在第七章。main 函数具有特殊意义,它是程序执行的入口,也就是说,程序都是从main函数开始执行的。 第4—6行定义了main函数的内容,称为函数体。以“{”开始,以“ }”结束。 第5行调用了在stdio.h中的格式化输出函数printf,其作用是向终端(显示器、控制台)输出字符。在这一行结束时,需要加上(;)。在C语言中,一行代码由分号(;)终止。 图2-2是程序hello.c的执行结果: 图2-2 Simple.c程序输出结果 知识链接一编程规范 在hello.c程序中,要注意以下的编程规范: 【规则1-1】用#“clude 格式来引用标准库的头文件。 【规则1-2】包含头文件时一般不使用绝对路径名。 【规则1-3】在头文件和main函数之间使用空行隔开。 【规则1-4】函数体里面的内容(即{ }里面的内容),需要水平缩进四个空格。如第5行所示。hello.c

C语言中数据类型

C语言中数据类型(整形,浮点型,字符型,无值型)2007年04月19日星期四上午11:29整型(int) 一、整型数说明 加上不同的修饰符, 整型数有以下几种类型; signed short int 有符号短整型数说明。简写为short或int, 字长为2字节共16位二进制数, 数的范围是-32768~32767。 signed long int 有符号长整型数说明。简写为long, 字长为4字节共32位二进制数, 数的范围是-2147483648~2147483647。 unsigned short int 无符号短整型数说明。简写为unsigned int, 字长为2字节共16位二进制数, 数的范围是0~65535。 unsigned long int 无符号长整型数说明。简写为unsigned long, 字长为4字节共32位二进制数, 数的范围是0~4294967295。 二、整型变量定义 可以用下列语句定义整型变量 int a, b; /*a、b被定义为有符号短整型变量*/ unsigned long c; /*c被定义为无符号长整型变量*/ 三、整型常数表示 按不同的进制区分, 整型常数有三种表示方法: 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 以0开始的数 如:06; 0106, 05788 十六进制数:以0X或0x开始的数 如:0X0D, 0XFF, 0x4e 另外, 可在整型常数后添加一个"L"或"l"字母表示该数为长整型数, 如22L,0773L, 0Xae4l。 浮点型(float) 一、浮点数说明 Turbo C中有以下两种类型的浮点数: float 单浮点数。字长为4 个字节共32 位二进制数, 数的范围是3.4x10-38E~3.4x10+38E。double 双浮点数。字长为8个字节共64 位二进制数, 数的范围是1.7x10-308E~1.7x10+308E。 说明: 浮点数均为有符号浮点数, 没有无符号浮点数。 二、浮点型变量定义 可以用下列语句定义浮点型变量: float a, f; /*a, f被定义为单浮点型变量*/ double b; /*b被定义为双浮点型变量*/

MySQL常用数据类型和建库策略

1. MYSQL 5数据类型,长度范围 1.1数值类型 MySQL支持所有标准SQL数值数据类型.这些类型包括严格数值数据类型(INTEGER,SMALLINT,DECIMAL和NUMERIC),以及近似数值数据类型 (FLOAT,REAL 和DOUBLE PRECISION).关键字INT是INTEGER的同义词,关键字DEC是DECIMAL 的同义词. BIT 数据类型保存位字段值,并且支持MyISAM,MEMORY,InnoDB和BDB表.作为SQL标准的扩展,MySQL也支持整数类型 TINYINT,MEDIUMINT和BIGINT.下面的表显示了需要的每个整数类型的存储和范围. MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例 如,INT(4)).该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度. 显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示. 当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替.例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004.请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度. 所有整数类型可以有一个可选(非标准)属性UNSIGNED.当你想要在列内只允许 非负数和该列需要较大的上限数值范围时可以使用无符号值. 浮点和定点类型也可以为UNSIGNED.同数类型,该属性防止负值保存到列中.然而,与整数类型不同的是,列值的上范围保持不变. 如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性. 对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节. FLOAT类型用于表示近似数值数据类型.SQL标准允许在关键字FLOAT后面的括号内选择用位指定精度(但不能为指数范围).MySQL还支持可选的只用于确定存储大小的精度规定.0到23的精度对应FLOAT 列的4字节单精度.24到53的精度对应DOUBLE列的8字节双精度. MySQL允许使用非标准语法:FLOAT(M,D)或 REAL(M,D)或DOUBLE PRECISION(M,D).这里,"(M,D)"表示该值一共显示M位整数,其中D位位于小数点后面.例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999.MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001.

中国航信标准数据格式_20050628

附件2: 中国航信标准数据格式

目录 中国航信标准数据使用说明 (3) 中国航信标准数据格式说明 (5) 中国航信标准数据格式 (7) 航班数据 (7) SCH数据 (8) 收益数据 (11) PNR数据(销售) (16) PNR数据(成行) (18) TCN数据 (20) CKI数据(详细) (33) CKI数据(汇总) (36) LDP数据 (38) BIDT数据 (41) MIDT数据 (43) 中国航信标准数据传输和保障流程 (45)

中国航信标准数据使用说明 中国航信作为国内航空公司共同发起设立的民航业IT服务公司,致力于为股东航空公司提供优质高效的民航业信息技术服务。为全力支持和配合航空公司针对本公司数据的一切合理使用的要求,辅助航空公司的日常运营和管理决策,中国航信整合三大业务系统数据,起草了《中国航信标准数据格式》。 《中国航信标准数据格式》是以中国航信的航班控制系统(ICS)、计算机分销系统(CRS)、离港系统(DCS)为依托,提取了包括收益、PNR、票面、值机、配载等信息在内的民航业常用数据,并参考国际通行数据标准,制定了中国航信标准的BIDT/MIDT数据格式。它是根据中国航信的实际情况和航空公司业务发展需要提出的,目的是通过规范数据格式的标准和提供方式,尽最大可能满足航空公司对数据的需求,调整和密切双方的合作关系,最大程度的保障航空公司的业务发展。 针对该数据格式的使用,特作如下说明: 1、该数据的提供对象为所有HOST在航信并与航信正式签署《航空公司服 务协议》的航空公司; 2、考虑到航空公司对数据的自主所有权,除MIDT数据外,其余数据均只 涉及本航空公司数据,不提供竞争数据; 3、该格式充分考虑了航空公司数据需求的多样性,在一段时间内保持稳定, 航信会定期进行标准数据格式的修改,主要是针对航空公司集中反映的 数据项予以调整,此调整将通报所有航空公司并在得到大部分航空公司 的书面认可后进行;

Excel中常用的数据类型

Excel中常用的数据类型 在Excel的单元格中可以输入多种类型的数据,如文本、数值、日期、时间等等。下面简单介绍这几种类型的数据。 1.字符型数据。在Excel中,字符型数据包括汉字、英文字母、空格等,每个单元格最多可容纳32000个字符。默认情况下,字符数据自动沿单元格左边对齐。当输入的字符串超出了当前单元格的宽度时,如果右边相邻单元格里没有数据,那么字符串会往右延伸;如果右边单元格有数据,超出的那部分数据就会隐藏起来,只有把单元格的宽度变大后才能显示出来。 如果要输入的字符串全部由数字组成,如邮政编码、电话号码、存折帐号等,为了避免Excel把它按数值型数据处理,在输入时可以先输一个单引号“'”(英文符号),再接着输入具体的数字。例如,要在单元格中输入电话号码“64016633”,先连续输入“'64016633”,然后敲回车键,出现在单元格里的就是“64016633”,并自动左对齐。 2.数值型数据。在Excel中,数值型数据包括0~9中的数字以及含有正号、负号、货币符号、百分号等任一种符号的数据。默认情况下,数值自动沿单元格右边对齐。在输入过程中,有以下两种比较特殊的情况要注意。 (1)负数:在数值前加一个“”号或把数值放在括号里,都可以输入负数,例如要在单元格中输入“66”,可以连续输入“66”“(66)”,然后敲回车键都可以在单元格中出现“66”。 (2)分数:要在单元格中输入分数形式的数据,应先在编辑框中输入“0”和一个空格,然后再输入分数,否则Excel会把分数当作日期处理。例如,要在单元格中输入分数“2/3”,在编辑框中输入“0”和一个空格,然后接着输入“2/3”,敲一下回车键,单元格中就会出现分数“2/3”。 3.日期型数据和时间型数据。在人事管理中,经常需要录入一些日期型的数据,在录入过程中要注意以下几点: (1)输入日期时,年、月、日之间要用“/”号或“-”号隔开,如“2002-8-16”“2002/8/16”。 (2)输入时间时,时、分、秒之间要用冒号隔开,如“10:29:36”。 (3)若要在单元格中同时输入日期和时间,日期和时间之间应该用空格隔开。 (信息技术教育室供稿)

java基本数据类型习题(选择24)

1、下列哪一个是合法的标识符: A、12class; B、+viod; C、-5; D、_black; 2、下列哪一个不是JAVA语言中保留字: A、if; B、sizeof; C、private; D、null; 3、下列描述中正确的一项是: A、标识符首字符的后面可以跟数字; B、标识符不区分大小写; C、复合数据类型变量包括布尔型、字符型、浮点型; D、数组属于基本数据类型; 4、下列哪一项不属于变量的组成部分: A、变量名; B、变量属性; C、变量初值; D、变量大小; 5、下列关于变量组成部分描述正确的一项是: A、变量名不是标识符;

B、变量名是标识符; C、浮点型属于复合类型; D、变量属性分为:基本类型和符合类型; 6、下列选项中,哪一项不属于JAVA语言的简单数据类型: A、整数型; B、数组; C、字符型; D、浮点型; 7、下列关于变量作用域的描述中,不正确的一项是: A、变量属性是用来描述变量作用域的; B、局部变量作用域只能是它所在的方法的代码段; C、类变量能在类的方法中声明; D、类变量的作用域是整个类; 8、下列关于基本数据类型的说法中,不正确的一项是: A、boolean是JAVA非凡的置值,或者为真或者为假; B、float是带符号的32位浮点数; C、double是带符号的64位浮点数; D、char应该上是8位的Unicode字符; 9、下列关于溢出的说法中,正确的一项是: A、一个整型的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最大值; B、一个整型的数据达到整型能表示的最小数值后,再减1,

常用数据类型的使用

刚接触编程地朋友往往对许多数据类型地转换感到迷惑不解,本文将介绍一些常用数据类型地使用. 我们先定义一些常见类型变量借以说明 ; ; ; ; []"程佩君"; []; *; ; ; ; 一、其它数据类型转换为字符串 短整型() ()将转换为字符串放入中,最后一个数字表示十进制 (); 按二进制方式转换 长整型() (); 浮点数() 用可以完成转换,这是中地例子: , ; *; ; ( , , , ); 运行结果: : '' : : 资料个人收集整理,勿做商业用途 表示小数点地位置表示符号为正数,为负数 变量 "北京奥运"; ()(); 变量 ("程序员"); * (); 资料个人收集整理,勿做商业用途 (); (); (); 变量 (""); * (); 资料个人收集整理,勿做商业用途 (); (); 变量 类型是对地封装,因为已经重载了操作符,所以很容易使用 ("");

* 不要修改中地内容 (); 通用方法(针对非数据类型) 用完成转换 []; ''; ; ; ; ( , ""); ( , ""); ( , ""); ( , ""); 二、字符串转换为其它数据类型 (,""); 短整型() (); 长整型() (); 浮点() (); 变量 ; 变量 ("程序员"); 完成对地使用 (); 变量 类型变量可以直接赋值 (""); (); 变量 类型地变量可以直接赋值 (""); (); 三、其它数据类型转换到 使用地成员函数来转换,例如: 整数() (""); 浮点数() (""); 字符串指针( *)等已经被构造函数支持地数据类型可以直接赋值 ; 对于所不支持地数据类型,可以通过上面所说地关于其它数据类型转化到*地方法先转到*,

Java中八种基本数据类型和八种封装数据类型

Java中八种基本数据类型和八种封装数据类型 初使值的求解过程及比较 作者:Zealjiang 1.八种基本数据类型 创建名为MemberTestBasic的java文件,其内容如下:public class MemberTestBasic { /** 八种基本类型 int, short, float ,double, long, boolean, byte, char */ int i; short s; float f; double d; long l; boolean bo; byte by; char c; public static void main(String[] args) { //创建对象m

MemberTestBasic m=new MemberTestBasic(); m.printMember(); } //为对象m创建一个printMember方法 public void printMember() { System.out.print("int->"+i+"\n"); System.out.print("short->"+s+"\n"); System.out.print("float->"+f+"\n"); System.out.print("double->"+d+"\n"); System.out.print("long->"+l+"\n"); System.out.print("boolean->"+bo+"\n"); System.out.print("byte->"+by+"\n"); System.out.print("char->"+c+"\n"); } } 运行结果如下:

java的基本数据类型有八种

java的基本数据类型有八种 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! java的基本数据类型有八种四类八种基本数据类型1. 整型byte(1字节)short (2个字节)int(4个字节)long (8个字节)2.浮点型float(4个字节)double(8个字节)3.逻辑性boolean(八分之一个字节)4.字符型char(2个字节,一个字符能存储下一个中文汉字)基本数据类型与包装类对应关系和默认值short Short (short)0int Integer 0long Long 0Lchar Char '\u0000'(什么都没有)float Floa t0.0fdouble Double 0.0dboolean Boolean false 若某个类的某个成员是基本数据类型,即使没有初始化,java也会确保它获得一个默认值,如上所示。(这种初始化方法只是用于成员变量,不适用于局部变量)。jdk1.5支持自动拆装箱。可以将基本数据类型转换成它的包装类装箱Integer a = new Integer ();a = 100;拆箱int b = new Intger(100);一个字节等于8位,一个字节等于256个数,-128到127一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节一个汉字两个字符,占用两个字节基本数据类型自动转换byte->short , char->int->longfloat->doubleint ->floatlong->double小可转大,大转小会失去精度。字符串与基本类型或其他类型间的转换⑴其它

标准的数据类型

标准的数据类型 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

附录C:CoDeSys中的数据类型 标准数据类型 数据类型 用户编程时可以使用标准和自定义数据类型。每个标识符与一种数据类型匹配。数据类型决定了存储内 存空间的大小以及它所存储的值的类型。 布尔变量(BOOL) 布尔类型变量的取值是TRUE(真) 和 FALSE(假). 它保留8 位的存储空间. 参照: BOOL 常量 参看章节 10,11, CoDeSys 中的操作数 , BOOL 常量 整数数据类型 BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, 和UDINT都是整型数据类型。每个不同的数据 类型包含一系列不同的值。下表列出了各整型数据类型的范围界限: 类型下限上限存储器空间 BYTE 0 255 8 位 WORD 0 65535 16 位 位 SINT: -128 127 8 位 USINT: 0 255 8 位 INT: -32768 32767 16 位

UINT: 0 65535 16 位 位 位 当大的数据类型转换成小的数据类型时,有可能导致信息丢失。 参照: 数字常数 也可参看10,11 章,CoDeSyS 中的操作数。 REAL / LREAL REAL 和 LREAL 就是所谓的浮点型类型。他们指代有理数。其中REAL 占32 位存储空间,LREAL 则占64。 REAL 存储范围:~ LREAL 存储范围:~ 也可参见章,REAL-/LREAL 常数 参照:REAL-/LREAL常数 字符串 10-附录 CoDeSys 10-31 字符串类型变量可包含任何一串字符。声明时变量的大小就决定为变量保留多大的存储空间。 此涉及字符串的字符数并可放入圆括号和方括号内。如果未给出变量的大小规格,默认大小 为80 个字符。 基本上,在CoDeSys 中,字符串的长度没有限制,但是字符串的功能仅可以处理1-255 个字符! 35 个字符串声明的例子:

Oracle数据库基本数据类型

oracle基本数据类型

oracle 数据库中讨论char ,varchar ,varchar2 数据类型! 这3种字符串数据类型是我们使用最多的,我们在数据库设计时到底该怎么使用了? 首先我们先来分析3个数据类型的说明: 1。char CHAR的长度是固定的,最长2000个字符。 2。varchar 和 varchar2 可以肯定的是oracle中目前是可以使用varchar数据类型的,但他们的区别我查了不少资料也没有找到一个准确的答案最常见的说话是说oracle中的varchar只是varchar2的别名也就是同义词。 其次也有人认为varchar是最大长度为2000的可变字符串(和sql server中的varchar一致),而varchar2最大长度为4000。 知道了他们的特点我们就来讨论下使用区别 1.char和varchar、varchar2 由于varchar和varchar2用途类似,我们先来讨论char和他们的使用区别: varchar和varchar2比char节省空间,在效率上比char会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的

‘以空间换效率’。 varchar和varchar2虽然比char节省空间,但是如果一个varchar和varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char代替varchar和varchar2会更好一些。 当然还有一种情况就是象身份证这种长度几乎不变的字段可以考虑使用char,以获得更高的效率。 2。varchar和varchar2 这里就进入重点了,前面的区别我们在sql server中我们已经基本了解了,大家可能都知道,最多也就是复习下,但oracle增加了一个varchar2类型,是大家以前所没有用到过的。 因为oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,还有其他数据中一般都有varchar这个数据类型。 所以我得出了以下结论: 如果想在oracle新版本的数据库兼容就不要用varchar,如果想和oracle 之外其他数据库兼容就不要用varchar2。 ORACLE中的数据类型分类 ORACLE中的数据类型不可谓不多,下面把我这两天来的学习体会写一下吧! 1、字符数据类型:包括我CHAR,VARCHAR2,LONG。 CHAR型可以存储字母数字值,这种数据类型的 列长度可以是1到2000个字节。如果未指明,则默认其占用一个字节,如果用户输入的值小于指定的长度,数据库则用空格填充至固定长度。 VARCHAR2型其实就是VARCHAR,只不过后面多了一个数字2,VARCHAR2就是VARCHAR的同义词,也称别名。数据类型大小在1至4000个字节,但是和CHAR不同的一点是:当你定义了VARCHAR2长度为30,但是你只输入了10个字符,这时VARCHAR2不会像CHAR一样填充,在数据库中只有10具字节。

Java基本数据类型详解——全英文

Java Basic Data Types Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in memory. Based on the data type of a variable, the operating system allocates memory and decides what can be stored in the reserved memory. Therefore, by assigning different data types to variables, you can store integers, decimals, or characters in these variables. There are two data types available in Java: 1.Primitive Data Types 2.Reference/Object Data Types Primitive Data Types: There are eight primitive data types supported by Java. Primitive data types are predefined by the language and named by a key word. Let us now look into detail about the eight primitive data types. byte: Byte data type is a 8-bit signed two.s complement integer. Minimum value is -128 (-2^7) Maximum value is 127 (inclusive)(2^7 -1) Default value is 0 Byte data type is used to save space in large arrays, mainly in place of integers, since a byte is four times smaller than an int. Example : byte a = 100 , byte b = -50 short: Short data type is a 16-bit signed two's complement integer. Minimum value is -32,768 (-2^15) Maximum value is 32,767(inclusive) (2^15 -1) Short data type can also be used to save memory as byte data type. A short is 2 times smaller than an int Default value is 0. Example : short s= 10000 , short r = -20000

PLC DCS常用数据类型及区别

char、varchar、text、ntext、bigint、int、smallint、tinyint和bit的区别及数据库的数据类型 分类:数据库2008-11-16 14:44 381人阅读评论(0) 收藏举报 基础: char、varchar、text和nchar、nvarchar、ntext的区别 1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。 2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。 3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。 4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar 比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar 最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。

java基本数据类型练习题

1 . 用8位无符号二进制数能表示的最大十进制数为 ( C ) A. 127 B. 128 C. 255 D. 256 2 .以下能作为char类型的字面值的有( B ) A. "e" B. 'f' C. '\u12' D. '\u0012' E. '\n' 3 . byte变量的取值范围是( B ) A. 0~65535 B. -128~127 C. -256-255 D. 0~32767 4. 以下选项中正确的有(AC ) A. int i = 32; B. float f = 45.32; C. double d=3.2; D. double d=9.21D; 5 .假定x和y为double型,则表达式x=2,y=x+3/2的值是( D ) A. 3.5 B. 3 C. 2.0 D. 3.0 6 .下列对于>>和>>>操作符描述正确的是( ) A.当左面的操作数是正数时,>>和>>>结果相同。 B. B. (-1 >> 1)的结果是0。 C. C. (-1 >>> 1) 的结果是-1。 D. 只有在右面的操作数大于等于1时, >>> 才会返回负数。 7 .有如下一段代码: 1)public class ReturnIt{ 2) returnType methodA(byte x, double y){ 3) return x/y*2; 4) } 5) } 在第2行中,方法methodA的有效返回类型returnType应该是?(D) A. int B. byte C. short D. double 8. 下列代码的执行结果是( D ) 1)public class Beirun{ 2) public static void main(String args[]){ 3) float t=9.0f; 4) int q=5; 5) System.out.println((t++)*(--q)); 6) } 7)} A. 40 B. 40.0 C. 36 D. 36.0 9.下列代码的执行结果是( D ) 1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(5/2); 4) } 5)} A. 2.5 B. 2.0 C. 2.50 D. 2 10. 下列代码的执行结果是( B ) 1)public class Beirun{ 2) public static void main(String args[]){

基本数据类型

S7-300的数据类型分以下三种: 基本数据类型、复合数据类型和参数类型。 一、基本数据类型 1、位(bit) 常称为BOOL(布尔型),只有两个值:0或1。 如:I0.0,Q0.1,M0.0,V0.1等。 2、字节(Byte)一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。 3、字(Word) 相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。 如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。 需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。 字的范围为十六进制的0000~FFFF(即十进制的0~65536)。 在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。 4、双字(Double Word) 相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。 如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。 需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。 双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。 在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。 以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。 5、16位整数(INT,Integer) 整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768~32767。 6、32位整数(DINT,Double Integer) 32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。 范围为-2147483648~2147483647。 7、浮点数(R,Real) 浮点数为32位,可以用来表示小数。浮点数可以为:1.m×2e ,其存储结构如图所示:

标准AB系统编程手册-数据类型

2012-04-12 数据类型 数据类型

目录 1Predefined Data Type (3) 1.1Basic Predefined Data Type (3) 1.2Advanced Predefined Data Type .............................................................. 3高级预定义数据类型 1.3Module Predefined Data Type (4) 2User Defined Data Type (5) 2.1UDT概况 (5) 2.2通用标准UDT (5) 2.3非标准UDT (8) 1、预定义数据类型 基本预定义数据类型 高级预定义数据类型 模块预定义数据类型 2、用户自定义数据类型

1.Predefined Data Type Predefined预定义的数据类型是在系统中定义且不可修改的数据类型 ●Basic Predefined Data Type Basic Predefined是构成数据类型的基本单元,所有其它数据类型基于此基础 ●Advanced Predefined Data Type Advanced Predefined是Rockwell 开发的一些由Basic Predefined数据类型组成,方便编程人员使用的系统自带的数据类型,如TMR(timer),RIN(Redundant Input冗余输入),下图1以RIN为例,所有的组成均为BOOL 量,每个变量的作用各不相同,可以参见RIN的注释,?? 图1

Module Predefined Data Type【模块预定义数据类型】 当编程人员在硬件组态时在IO/Configuration中添加模块时,系统自动生成对应该模块的标签,而Module Predefined数据类型是此类标签的数据类型,如下图所示当我们在硬件组态中添加sz_UB030E2时,自动会生成sz_UB030E2:I表示该模块的输入变量,而AB:1791DS_IB8XOB8_Safety2:I:0即为该模块的预定义数据类型,相同模块由于参数设置的不同,预定义数据类型可能不一样,详见硬件配置中的描述

MySQL 常用数据类型

MySQL 三种常用的数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1.数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

2.日期和时间类型 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。 TIMESTAMP类型有专有的自动更新特性,将在后面描述。

3.字符串类型 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。 注意:

char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。 CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。 BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。 BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。 有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。 以上就是三种常用的MySQL 数据类型的详细内容。

java中基本数据类型的取值范围

我们前面提到变量的声明格式:变量类型变量名; 这里我们学习JAVA的数据类型. 数据类型可以分为两大类: 1)基本类型; 2)扩展类型。 本节中,我们就一起来学习一下Java语言的基本数据类型。它包括类型描述取值范围 Boolean 布尔型只有两个值true、false Char 字符型 Byte 8位带符号整数 -128到127之间的任意整数 Short 16位无符号整数 -32768~32767之间的任意整数 Int 32位带符号整数 -2^31到2^31-1之间的任意整数 Long 64位带符号整数 -2^63到2^63-1之间的任意整数 Float 32位单精度浮点数根据IEEE754-1985标准 Double 64位双精度浮点数根据IEEE754-1985标准 一些提示: 不象其它程序设计语言,Java语言中的整型的位数是固定的,而不会根据硬件平台以及操作系统的不同而不同。 1> boolean型 在上一章的逻辑运算符中,我们就已经看到过了取值为true和false的变量,这种变量称为boolean型变量。 实例说明 源程序:test601.java public class test601 { public static void main(string args[]) { boolean x=true; boolean y=false; System.out.println("x&&y="+(x&&y)); System.out.println("x||y="+(x||y)); System.out.println("x^y="+(x^y)); System.out.println("!x="+(!x)); } }

相关主题
文本预览
相关文档 最新文档