搜档网
当前位置:搜档网 › Step7 数据类型详细说明

Step7 数据类型详细说明

Step7 数据类型详细说明
Step7 数据类型详细说明

复式数据类型

参数类型

用于向FB和FC传送参数

Step7-数据类型详细说明总结汇总

STEP7中的基本数据类型 ⑴位(BOOL) 位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。 ⑵字节(BYTE) 字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值围为B#16#0~B#16#FF。 ⑶字(WORD) 字数据长度为16位,这种数据可采用4种方法进行描述。 二进制:二进制的格式为2#,如2#101,取值围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#1。 十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值围为W#16#0~W#16#FFFF。 BCD码:BCD码的格式为C#,取值围为C#0~C#999。BCD码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。BCD码的最高4位用来表示符号,十六位BCD码的取值围为-999~+999。在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。 无符号十进制数:无符号十进制数的格式为B#(×,×),取值围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~ 1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如: B#(12,254)=2#0000_1100_1111_1110 12 254 上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。例如,如果想得到二进制数00111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。在STEP7中,比较常用的是十六进制,即W#16#这种格式。 ⑷双字(DOUBLE WORD) 数据长度为32位,双字的数据格式与字的数据格式相同,也有4种方式,分别为: 二进制:取值围为2#0~2#1111_1111_1111_1111_1111_1111_1111_1111。 十六进制:取值围为DW#16#0~DW#16#FFFF_FFFF。 BCD码:取值围为C#0~C#9999999。 无符号十进制数:取值围为B#(0,0,0,0)~B#(255,255,255,255)。 ⑸整数(INT) 整数数据类型长度为16位,数据格式为带符号十进制数,16位中最高为符号位。正整数是以原码格式进行存储的,如+786,对应的二进制码为2#0000_0011_0001_0010,而负整数则表示为正整数的二进制补码,即对应正整数的二进制码取反后加1,例如负整数-786,对应的二进制码为2#1111_1100_1110_1110。将负零(1000_0000_0000_0000)定义为-32768因此取值围为-32768~32767。0表示正,1表示负。 ⑹双整数(DOUBLE INT) 双整数的数据类型长度为32位,数据格式为带符号十进制数,用L#表示双整数。双整数的二进制码与整数的换算方式一致,其取值围为L#-2147483648~L#2147483647。 ⑺实数(REAL也叫浮点数Float) 实数的数据类型长度为32位,是以IEEE浮点数格式转换为二进制数存储的,其取值围为±3.402823e+38~±1.1755494e-38。 实数用1.m×2E例如123.4可表示为1.234×102。 式中:指数E=e-127(1≤e≤254)为8位整数 符号位(S):S=0为正值S=1为负值 规定尾数的整数部分总是为1,只保留尾数的小数部分m(0~22位)

常用数据类型转换使用详解

VC常用数据类型使用转换详解 CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。 CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR; typedef const char * LPCTSTR; vc++中各种字符串的表示法 首先char* 是指向ANSI字符数组的指针,其中每个字符占据8位(有效数据是除掉最高位的其他7位),这里保持了与传统的C,C++的兼容。 LP的含义是长指针(long pointer)。LPSTR是一个指向以‘/0’结尾的ANSI字符数组的指针,与char*可以互换使用,在win32中较多地使用LPSTR。 而LPCSTR中增加的‘C’的含义是“CONSTANT”(常量),表明这种数据类型的实例不能被使用它的API函数改变,除此之外,它与LPSTR是等同的。 1.LP表示长指针,在win16下有长指针(LP)和短指针(P)的区别,而在win32下是没有区别的,都是32位.所以这里的LP和P是等价的. 2.C表示const 3.T是什么东西呢,我们知道TCHAR在采用Unicode方式编译时是wchar_t,在普通时编译成char. 为了满足程序代码国际化的需要,业界推出了Unicode标准,它提供了一种简单和一致的表达字符串的方法,所有字符中的字节都是16位的值,其数量也可以满足差不多世界上所有书面语言字符的编码需求,开发程序时使用Unicode(类型为wchar_t)是一种被鼓励的做法。 LPWSTR与LPCWSTR由此产生,它们的含义类似于LPSTR与LPCSTR,只是字符数据是16位的wchar_t而不是char。 然后为了实现两种编码的通用,提出了TCHAR的定义: 如果定义_UNICODE,声明如下: typedef wchar_t TCHAR; 如果没有定义_UNICODE,则声明如下: typedef char TCHAR; LPTSTR和LPCTSTR中的含义就是每个字符是这样的TCHAR。 CString类中的字符就是被声明为TCHAR类型的,它提供了一个封装好的类供用户方便地使用。

matlab数据类型及转换

Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。 1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127; 2、浮点:(single;double) 浮点数:REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN ('single')分别返回双精度浮点和单精度浮点的最小值。 3、逻辑:(logical) Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于0.5的元素设定为0: A = rand(5); A(A>0.5)=0; 4、字符:(char) Matlab中的输入字符需使用单引号。字符串存储为字符数组,每个元素占用一个ASCII字符。如日期字符:DateString=’9/16/2001’ 实际上是一个1行9列向量。构成矩阵或向量的行字符串长度必须相同。可以使用char函数构建字符数组,使用strcat函数连接字符。 例如,命令name = ['abc' ; 'abcd'] 将触发错误警告,因为两个字符串的长度不等,此时可以通过空字符凑齐如:name = ['abc ' ; 'abcd'],更简单的办法是使用char函数:char(‘abc’,’abcd’),Matlab自动填充空字符以使长度相等,因此字符串矩阵的列纬总是等于最长字符串的字符数. 例如size(char(‘abc’,’abcd’))返回结果[2,4],即字符串’abc’实际存在的是’abc ’,此时如需提取矩阵中的某一字符元素,需要使用deblank函数移除空格如name =char(‘abc’,’abcd’); deblank(name(1,:))。 此外,Matlab同时提供一种更灵活的单元格数组方法,使用函数cellstr可以将字符串数组转换为单元格数组: data= char(‘abc’,’abcd’) length(data(1,:)) ->? 4 cdata=cellstr(data) length(cdata{1}) ->?3 常用的字符操作函数 blanks(n) 返回n个空字符 deblank(s) 移除字符串尾部包含的空字符 (string) 将字符串作为命令执行 findstr(s1,s2) 搜索字符串 ischar(s) 判断是否字符串 isletter(s) 判断是否字母 lower(s) 转换小写 upper(s) 转换大写 strcmp(s1,s2) 比较字符串是否相同 strncmp(s1,s2,n) 比较字符串中的前n个字符是否相同 strrep(s1,s2,s3) 将s1中的字符s2替换为s3 5、日期和时间 Matlab提供三种日期格式:日期字符串如’1996-10-02’,日期序列数如729300(0000年1月1日为1)以及日期向量如1996 10 2 0 0 0,依次为年月日时分秒。 常用的日期操作函数

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被定义为双浮点型变量*/

STEP7常用功能块FC105等介绍

Step7编程常用功能块的使用介绍 1、FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在中,打开Libraries\standard library\ Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;如下: 其中,管脚的定义如下: IN---------模拟量模块的输入通道地址,在硬件组态时分配; HI_LIM---现场信号的最大量程值; LO_LIM--现场信号的最小量程值; BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1, 如果现场信号为4MA~20MA(无极性信号);则设置为0;

OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放; RET_V AL-FC105功能块的故障字,可存放在一个字里面。如:MW50; 2、热电偶、热电阻信号的处理,该类信号实际值是通道整数值的1/10; 3、FB41 PID控制模块的使用; PID模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能在中,打开Libraries\standard library\ PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下: 4、脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。Libraries\standard library\ PID Control block\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:

西门子STEP7编程中sfb4的用法

西门子STEP7编程—IEC定时器的使用 2010年03月03日星期三 08:59 西门子STEP7提供了10种定时器指令,用户可以根据不同的情况,很方便的选择一种适合自己的要求。可是STEP7的定时器的时间值用了一种西门子独有的S5TIME的数据类型来表示。某些时候使得定时器用起来不那么顺手,例如,在上位机监控软件画面上显示计时器的当前值或者需要在运行时在监控画面上修改预设值。对此STEP7提供了FC33(S5TI_TIM)和FC40(TIM_S5TI)来实现S5TIME数据类型与TIME数据类型之间的相互转换,但是换来换去的还是很麻烦。笔者认为在这种情况下不如直接使用STEP7的IEC 定时器。 STEP7的IEC定时器是个什么东西呢?其实就是STEP7提供的一系列系统功能块,能实现定时器同样的功能,和STEP7定时器指令不同的是它们是符合IEC1131-3标准的定时器。具体地说就是SFB3(TP)脉冲定时器、SFB4(TON)接通延迟定时器和SFB5(TOF)关闭延迟定时器。 功能块参数说明 STEP7的TIME数据类型在上位机上读写就很方便了,根据它的定义,实际上它就是一个有符号双整数,每一步长表示为1毫秒。 定时器的类型就三种。1、接通延时定时器TON 2、记忆接通延时定时器TONR 3、断开延时定时器 TOF 计时器总共有256个,其中1ms定时器4个(T0,T32,T64,T96),其中10ms 定时器16个(T1~T4,T33~T36,T65~T68,T97~T100),其余的都是100ms定时

器。 1ms定时器的刷新周期为1ms,与扫描周期和程序处理无关;10ms定时器在每个扫描周期开始时进行刷新;100ms定时器在定时器指令被执行时刷新。

SQL数据库字段类型说明

SQL数据库字段类型说明

1)char、varchar、text和nchar、nvarchar、ntext char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。 后面三种数据类型和前面的相比,从名称上看只是多了个字母n,它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar 最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 (2)datetime和smalldatetime datetime:从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒。 smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。 (3)bitint、int、smallint、tinyint和bit bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。 int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据。 tinyint:从0到255的整数数据。 bit:1或0的整数数据。 (4)decimal和numeric 这两种数据类型是等效的。都有两个参数:p(精度)和s(小数位数)。p指定小数点左边和右边可以存储的十进制数字的最大个数,p必须是从 1到38之间的值。s指定小数点右边可以存储的十进制数字的最大个数,s必须是从0到p 之间的值,默认小数位数是0。 (5)float和real float:从-1.79^308到1.79^308之间的浮点数字数据。 real:从-3.40^38到3.40^38之间的浮点数字数据。在SQL Server中,real 的同义词为float(24)。

STEP7常用功能块FC105、FB41、FB43

目的:FC105的使用 1、FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块,在中,打开Libraries\standard library\ Ti-S7 Converting Blocks\fc105,将其调入OB1中,给各个管脚输入地址;如下: 其中,管脚的定义如下: IN---------模拟量模块的输入通道地址,在硬件组态时分配; HI_LIM---现场信号的最大量程值; LO_LIM--现场信号的最小量程值; BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1, 如果现场信号为4MA~20MA(无极性信号);则设置为0;

OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放; RET_V AL-FC105功能块的故障字,可存放在一个字里面。如:MW50; 2、热电偶、热电阻信号的处理,该类信号实际值是通道整数值的1/10; 3、FB41 PID控制模块的使用; PID模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能在中,打开Libraries\standard library\ PID Control block\FB41,将其调入OB1中,首先分配背景数据块DB41,再给各个管脚输入地址;如下: 4、脉冲输出模块FB43,该模块是将模拟量转换成比率的脉冲输出。Libraries\standard library\ PID Control block\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:

5、果现场是阀门等执行机构,只需要将通道地址输入PID的输出通道,如下:

2.3 基本数据类型的转换

2.3基本数据类型的转换 本章目标 掌握基本数据类型间的自动转换 掌握任何基本数据类型的数据都会自动向String转换 掌握基本数据类型间的强制转换 Java的数据类型在定义时就已经确定了,因此不能随意转换成其他的数据类型,但Java允许用户有限度地做类型转换处理。数据类型的转换方式可分为“自动类型转换”及“强制类型转换”两种。 1 数据类型的自动转换 在计算机中完成一个计算时,要求参与计算的两个数值必须类型一致,如果不一致,计算机会自动将其中一个数值类型转换成另外一个数值的类型,然后完成计算。自动转换的原则如下: (1)转换前的数据类型与转换后的类型兼容。 (2)转换后的数据类型的表示范围比转换前的类型大。 例如,将short类型的变量a转换为int类型,由于short与int皆为整数类型,符合上述条件(1);而int的表示范围比short大,符合条件(2)。因此Java 会自动将原为short类型的变量a转换为int类型。 要注意的是,类型的转换只限该行语句,并不会影响原先所定义的变量的类型,而且通过自动类型的转换可以保证数据的精确度,它不会因为转换而损失数据内容。这种类型的转换方式也称为扩大转换。 范例:数据类型的转换 程序运行结果: x / y = 1.3519603 10 / 3.5 = 2.857142857142857 10 / 3 = 3 从程序的输出结果可以发现,int类型与float类型进行计算之后,输出的结

果会变成float类型,一个整型常量和一个浮点型常量进行计算之后,结果也会变为一个浮点数据,而如果两个int类型的常量进行计算,最终结果还是int类型,而其小数部分将会被忽略。 也就是说,假设有一个整数和双精度浮点数据做运算时,Java会所整数转换成双精度浮点数后再做运算,运算结果也会变成双精度浮点数。 提示:任何类型的数据都向String转型。 有一种表示字符串的数据类型String,从其定义上可以发现单词首字母大写了,所以此为一个类,属于引用数据类型,但是此类属于系统类,而且使用上有些注意事项,对于此种类型后面会有介绍,在此处所需要知道的只有以下两点: (1)String可以像普通变量那样直接通过赋值的方式进行声明。字符串是使用“””括起来的。两个字符串之间可以使用“+”进行连接。 (2)任何数据类型碰到String类型的变量或常量之后都向String类型转换。 范例:定义字符串变量 程序运行结果: str = lixinghua30 从运行结果来看,可以发现整型数据30自动转换成了字符的“30”,与字符串“lixinghua”进行了连接操作,变成了一个新的字符串“lixinghua30”。 范例:字符串常量操作的问题

数据类型

数据类型 标识符是用来标识源程序中某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、数组等等。C语言是大小字敏感的一种高级语言,如果我们要定义一个定时器1,可以写做"Timer1",如果程序中有"TIMER1",那么这两个是完全不同定义的标识符。标识符由字符串,数字和下划线等组成,注意的是第一个字符必须是字母或下划线,如"1Timer"是错误的,编译时便会有错误提示。有些编译系统专用的标识符是以下划线开头,所以一般不要以下划线开头命名标识符。标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。在C51编译器中,只支持标识符的前32位为有效标识,一般情况下也足够用了,除非你要写天书:P。 关键字则是编程语言保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符与关键资亦同。在KEIL uVision2中的关键字除了有ANSI C标准的3 2个关键字外还根据51单片机的特点扩展了相关的关键字。其实在KEIL uVision2的文本编辑器中编写C程序,系统可以把保留字以不同颜色显示,缺省颜色为天蓝色。(标准和扩展关键字请看附录一中的附表1-1和附表1-2) 先看表4-1,表中列出了KEIL uVision2 C51编译器所支持的数据类型。在标准C语言中基本的数据类型为char,int,short,long,float和double,而在C51编译器中int和s hort相同,float和double相同,这里就不列出说明了。下面来看看它们的具体定义:数据类型长度值域 unsigned char 单字节0~255 signed char 单字节-128~+127 unsigned int 双字节0~65535 signed int 双字节-32768~+32767

STEP7中的基本数据类型-重要

STEP7中的基本数据类型 ⑴位(BOOL ) 位数据的数据类型为BOOL (布尔)型,在软件编程中BOOL变量的值1和0常用英语词TURE (真)和FALSE (假)来表示,对应二进制数中的“ 1和“0,常用于开关量的逻辑运算,存储空间为1位。 ⑵字节(BYTE) 字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),# 16#表示十六进制,取值范围为B#16#0?B#16#FF。 ⑶字(WORD ) 字数据长度为16位,这种数据可采用4种方法进行描述。 二进制:二进制的格式为 2 #,如2 # 101,取值范围为2# 0?2# 1111_1111_1111_1111, 书写时每4位可用下划线隔开,也可直接表示为2# 111111111111 十六进制:十六进制的格式为W # 16#, W代表WORD,表示数据长度为16位,# 16#表示十六进制,数据取值范围为W # 16# 0?W # 16 # FFFF。 BCD码:BCD码的格式为C#,取值范围为C# 0?C# 999。BCD码是用4位二进制表示1位十进制数,4位二进制中的0000?1001组合分别表示十进制中的0?9, 4位二进制中的1010?1111组合放弃不用。BCD码的最高4位用来表示符号,十六位BCD码的取值范围为—999? +999。在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。 无符号十进制数:无符号十进制数的格式为 B #( X, X),取值范围为B #( 0, 0)? B #( 255, 255),无符号十进制数是用十进制的0?255对应二进制数中的0000_0000? 1111_1111 ( 8位),16位二进制数就需要两个0?255的数来表示,例如: B# (12, 254)= 2# 0000_1100_1111_1110 _12 ― 254 上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。例 如,如果想得到二进制数0000100110000111,可以使用2# 0000_1001_1000_0111 ,也可以 使用W # 16# 987,还可以使用C# 987或者B #( 9, 135)。在STEP7中,比较常用的是十六进制,即W # 16#这种格式。 ⑷双字(DOUBLE WORD ) 数据长度为32位,双字的数据格式与字的数据格式相同,也有4种方式,分别为: 二进制:取值范围为 2 # 0?2# 1111_1111_1111_1111_1111_1111_1111_1111 十六进制:取值范围为DW # 16# 0?DW # 16 # FFFF_FFFF。 BCD码:取值范围为C# 0?C# 9999999。 无符号十进制数:取值范围为 B #( 0,0,0,0)?B #( 255,255,255,255 )。 ⑸整数(INT ) 整数数据类型长度为16位,数据格式为带符号十进制数,16位中最高为符号位。正整 数是以原码格式进行存储的,如+ 786,对应的二进制码为2# 0000_0011_0001_0010 ,而负 整数则表示为正整数的二进制补码,即对应正整数的二进制码取反后加1,例如负整数-786, 对应的二进制码为2# 1111_1100_1110_1110。将负零(1000_0000_0000_0000 )定义为-32768 因此取值范围为-32768?32767。0表示正,1表示负。 ⑹双整数(DOUBLE INT ) 双整数的数据类型长度为32位,数据格式为带符号十进制数,用L #表示双整数。双 整数的二进制码与整数的换算方式一致,其取值范围为L#-2147483648?L # 2147483647。 ⑺实数(REAL也叫浮点数Float)

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小可转大,大转小会失去精度。字符串与基本类型或其他类型间的转换⑴其它

数据库设计基本数据类型说明

一. 基本类型 数据库设计,在数据库设计文档中,统一用内存类型作为数据库库设计文档,至于内存类型和数据库之间的对应关系统一由工具来处理 数据库设计文档类型 现用 原用 Orcal 内存类型 size SQL Server Oracle varchar varchar VARCHAR2 String 需要填写长度 4000以内 varchar VARCHAR2 Smallint 2 smallint NUMBER(2,0) bigint Integer 4 int NUMBER(4,0) bit decimal NUMBER Boolean tinyint NUMBER(1,0) float Float 需要填写长度 float NUMBER() int NUMBERIC money Currency 默认4位 money NUMBER(19,4) real DateTime datetime date smallint Blob image BLOB tinyint Guid Unique.. VARCHAR2(40) smallmoney Int64 8 Int64 NUMBER(8,0) numeric datetime datetime date SmallDatetime varchar(40) uniqueidentifier varchar2(40) image image BLOB S U N L I G H T

二.表结构通用字段 类别字段说明 台帐单据objid 单据ID EnterCode 企业Code BrandCode 品牌Code 其他业务字 段 静态单据主单 objid 单据ID Code 单据编号 EnterCode 企业Code BrandCode 品牌Code ModifyCode 最近更新人Code ModifyTime 更新时间 Status 状态 Verinfo 版本号 业务字段 静态单据日志表 objid 单据ID parentid 父单据 LogData 更新日志 ModifyCode 最近更新人 Code S U N L I G H T

step7 PID功能块详解

PID控制软件包包括以下几部分 9 CONT_C、 CONT_S和PULSEGEN功能模块 PID控制的概念 PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。控制模块利用其所提供的全部功能可以实现一个纯软件控制器。 循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成可能。功能块PULSEGEN一般用来连接CONT_C,以使其可以产生提供给比例执行器的脉冲信号输出。 基本功能在功能块组成的控制器中,有一系列你可以通过设置使其有效或无效的子功能。除了实际采用PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。应用用两个控制模块组成控制器就可以突破局限的特定应用。控制器的性能和处理速度只与所采用的CPU性能有关。对于任意给定的CPU,控制器的数量和每个控制器被调用的频率是相互矛盾的。控制环执行的速度,或者说,在每个时间单元内操作值必须被更新的频率决定了可以安装的控制器的数量。对要控制的过程类型没有限制,迟延系统(温度、液位等)和快速系统(流量、电机转速等)都可以作为控制对象。过程分析注意:控制过程的静态性能(比例)和动态性能(时间延迟、死区和重设时间等)对被控过程控制器的构造和设计以及静态(比例)和动态参量(积分和微分)的维数选取有着很大的影响。准确地了解控制过程的类型和特性数据是非常必要的。控制器的选取注意:控制环的特性由被控过程或被控机械的物理特性决定,并且我们可以改变的程度不是很大。只有选用了最适合被控对象的控制器并使其适应过程的响应时间,才能得到较高的控制质量。生成控制器不用通过编程你就可以生成控制器的大部分功能(构造、参数设置和在程序中的调用等),前提是你掌握了STEP 7的编程知识。在线帮助 STEP 7的在线帮助同样也可以为你提供各种功能块的帮助信息进一步帮助 PID控制器是标准控制器的子集,想得到标准控制器进一步的资料,请参阅/350/参数设置调用参数分配用户界面在Windows95下按照下面的选项调用PID控制器的参数设置用户界面Start—SIMATIC_Step 7—PID Control ParameterAssignment 在第一个对话框中你可以打开一个已经存在的CONT_C或CONT_S的背景数据块,或者你新建一个数据块作为功能的背景数据块。如果你新建了一个新的背景数据块,你会被提示将这个数据块分配给某一个功能块。FB43 PULSEGEN没有参数设置的界面,你必须用STEP 7的工具给其分配参数。在线帮助当你给控制模块设置参数时可以使用参数设置用户界面的在线帮助,你可以以三种方式调用在线帮助 9 用菜单选项中的Help 9 按下F1键 9 按下参数设置用户界面里的帮助按钮用功能块FB41“CONT_C”实现连续控制简介 在SIMATIC S7 可编程控制器上,功能块FB41用来控制具有连续输入输出的技术过程。 在参数设置过程中,你可以通过参数设置来激活或取消激活PID控制的某些子功能来设计适应过程需要的控制器应用你可以将其作为一个给定点PID控制器,或者在多环路控制中作为串级、混合或比率控制器。控制器的算法是基于具有模拟输入信号的采样PID控制。如果扩展需要的话可以引入一个脉冲发生器,来产生具有脉宽调制的操作值输出,以提供给带有比例执行器的两级或三级步进控制器。描述除了给定点和过程变量分支的功能外,FB自己就可以实现一个完整的具有连续操作值输出并且具有手动改变操作值功能的PID控制器,下面你会找到各子功能的详细描述

数据类型转换

数据类型转换 一、隐式类型转换 1)简单数据类型 (1)算术运算 转换为最宽的数据类型 eg: [cpp] view plain copy #include using std::cout; using std::endl; int main(int argc, char* argv[]) { int ival = 3; double dval = 3.14159; cout << ival + dval << endl;//ival被提升为double类型 return 0; } 其运行结果: 6.14159 int main(int argc, char* argv[]) { 010D17D0 push ebp 010D17D1 mov ebp,esp 010D17D3 sub esp,0DCh 010D17D9 push ebx 010D17DA push esi 010D17DB push edi 010D17DC lea edi,[ebp-0DCh] 010D17E2 mov ecx,37h 010D17E7 mov eax,0CCCCCCCCh 010D17EC rep stos dword ptr es:[edi] int ival = 3; 010D17EE mov dword ptr [ival],3 double dval = 3.14159; 010D17F5 movsd xmm0,mmword ptr [__real@400921f9f01b866e (010D6B30h)]

010D17FD movsd mmword ptr [dval],xmm0 cout << ival + dval << endl;//ival被提升为double类型 010D1802 mov esi,esp 010D1804 push offset std::endl > (010D1064h) 010D1809 cvtsi2sd xmm0,dword ptr [ival] 010D180E addsd xmm0,mmword ptr [dval] 010D1813 mov edi,esp 010D1815 sub esp,8 010D1818 movsd mmword ptr [esp],xmm0 010D181D mov ecx,dword ptr [_imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A (010D90A8h)] 010D1823 call dword ptr [__imp_std::basic_ostream >::operator<< (010D90A0h)] 010D1829 cmp edi,esp 010D182B call __RTC_CheckEsp (010D111Dh) 010D1830 mov ecx,eax 010D1832 call dword ptr [__imp_std::basic_ostream >::operator<< (010D90A4h)] 010D1838 cmp esi,esp 010D183A call __RTC_CheckEsp (010D111Dh) return 0; 010D183F xor eax,eax } 010D1841 pop edi } 010D1842 pop esi 010D1843 pop ebx 010D1844 add esp,0DCh 010D184A cmp ebp,esp 010D184C call __RTC_CheckEsp (010D111Dh) 010D1851 mov esp,ebp 010D1853 pop ebp 010D1854 ret (2)赋值 转换为被赋值对象的类型,但不会改变赋值对象的数据类型。 eg: [cpp] view plain copy #include

C++基本数据类型转换

atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 doubleatof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。 返回值 返回转换后的浮点型数。 附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include main() { char *a=”-100.23”; char *b=”200e-2”; float c; c=atof(a)+atof(b); printf(“c=%.2f\n”,c); } 执行 c=-98.23 atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include

定义函数 intatoi(const char *nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。 返回值 返回转换后的整型数。 附加说明 atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include mian() { char a*+=”-100”; ch ar b*+=”456”; int c; c=atoi(a)+atoi(b); printf(c=%d\n”,c); } 执行 c=356 atol(将字符串转换成长整型数) 相关函数 atof,atoi,strtod,strtol,strtoul 表头文件 #include 定义函数 longatol(const char *nptr); 函数说明 atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。 返回值 返回转换后的长整型数。 附加说明 atol()与使用strtol(nptr,(char**)NULL,10);结果相同。 范例

STEP 7 Struct是什么数据类型

STEP 7 Struct是什么数据类型 请问STEP7Struct是什么数据类型 在什么样的情况下需要用到Struct数据类型!! 最佳答案 Struct(结构性类型)是由不同数据类型组成的、属于复合型数据类型,它是用来定义一组相关的数据,其长度由用户定义,它与数组(Array)类型相反(ARRAY是由相同类型的数据组成的数组)。 许多关于结构类型的书籍中提到的关于电机控制系统中,把一个电机所有控制元素,如运行速度、额度电流、起动电流和运行方向等作为参数或逻辑块的局部变量,并且在全局数据块中声明,这样利用它可以结构化大量的数据并且可以用符号进行处理,由于访问结构的元素包含结构的名称,使程序更容易读,指令编写更清晰。 如电机的一组不同类型的数据(称为元素)组成的结构命名为Motor_Data,并且放在共享数据块DB1中,为了用符号访问结构中的一个元素,需要给数据块分配一个符号名,如Drive_1.结构的关键字是“STRUCT“,结构的结束用END_STRUCT.这样在打开数据块DB1(符号名Drive_1),可以看到上面变量声明表为:

Address(地址)Name(名称)Type(类型)InitialValue (初始值) 0.0Struct 0.0Motor_Data(电机数据)Struct 0.0Operating_speed(运行速度)INT 2.0Rated_current(额定电流)REAL 6.0Start_current(起动电流)REAL 10.0Max_temperature(最大温度)REAL 14.0Turning_direction(转动方向)BOOL =16.0END_STRUCT =16.0END_STRUCT 如果访问上述结构中的某个元素,如Rated_current(额度电流),可以直接用下列指令: L“Drive_1”.Motor_data.Rated_current 其中,“Drive_1”是数据块的符号名,该数据块包含结构、结构名称(用点分割)在数据块的后面。结构的元素名(用点分割)跟在结构名的后面。

相关主题