注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- PLC论坛 -- PLC论坛(非专题) -- PLC基础

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

发表人:woowoo 发表时间:2005/9/30 15:36:00  

 

 本栏论题: PLC浮点数和整数之间有什么区别?  [34798]

    PLC浮点数在什么场合应用?
    浮点数和整数之间有什么区别

以下是关于《PLC浮点数和整数之间有什么区别?》论题的回复(共41篇,分3页显示)

 共3页  第1页   末页   下一页   

回复人:廊坊玻璃 

 回复时间:2006/2/9 2:18:00

支持(1165) | 反对(955)

 

    回复:愚昧!你说带小数点的数和整数有什么区别,不要把浮点数神秘化

    愚昧!你说带小数点的数和整数有什么区别,不要把浮点数神秘化

回复人:zhangmin 

 回复时间:2006/2/3 23:25:00

支持(945) | 反对(1011)

 

    回复:答复

    整数和浮点数的区别:
    整数是指正整数、负整数和零,如-6、0、32 等。
    浮点数是指带有有限位小数的有理数,如-10.8、0.00、25.01 等。
    整数既可以是整数,也可以是浮点数,例如255 是整数,而255.0 则是浮点数。
    整数运算,得到的结果是一个整数,并且计算结果中的小数部分将被忽略。例如:用整数运算时,100÷3=33。
    浮点运算,得到的结果是一个浮点数,计算结果中的小数部分将保留下来。
    例如:用浮点运算时,100.0÷3.0=33.33333333。
   

回复人:laiwui 

 回复时间:2006/2/4 11:34:00

支持(975) | 反对(935)

 

    回复:请教:zhanmin大哥,255.0和25.5如何整数和二进制数转换

    请教:zhanmin大哥,255.0和25.5如何整数和二进制数转换。
    他们要用PLC几个字节。多谢!新年快乐

回复人:woowoo 

 回复时间:2005/10/3 15:57:00

支持(847) | 反对(1271)

 

    回复:数据计算时,数据必须转换为浮点数吗?

    数据计算时,数据必须转换为浮点数吗?

回复人:a_tie 

 回复时间:2005/10/6 15:59:00

支持(1413) | 反对(1054)

 

    回复:好像都转换为浮点数,但感觉没有意义(个人见解)

    我们一般都转换为浮点数,但感觉没有意义。我对浮点数研究不深,认为在PLC的数据转换中,采用浮点数好像没有多大意义。
    整数计算完全可以解决小数点的问题。
    1、整数放在32位数据区,将采集数据放大100倍,等于小数点精确到两位。何必采用浮点数呢。
    2、浮点数是小数运算。和整数放大,计算的精度没有任何区别

回复人:hsl 

 回复时间:2006/1/22 13:01:00

支持(929) | 反对(878)

 

    回复:应该有作用吧,但我不知道

    

回复人:hnsys77 

 回复时间:2005/10/12 13:33:00

支持(1068) | 反对(937)

 

    回复:尽管我也说不清楚。但肯定有转换的道理

    尽管我也说不清楚。但肯定有转换的道理。请高人讲讲道理。

回复人:大哥 

 回复时间:2005/10/8 7:46:00

支持(935) | 反对(2095)

 

    回复:支持一下,尽管我也是用INT-FLOAT转换,但感觉实在没有意义,也许我们的认识肤浅。

    支持一下,尽管我也是用INT-FLOAT转换,但感觉实在没有意义,也许我们的认识肤浅。

回复人:plh 

 回复时间:2005/10/7 16:41:00

支持(968) | 反对(939)

 

    回复:a_TIE,的确如此,讨论一番

    个人认为,a_tie,说的有道理,我基本就是采用放大倍数的方法。精度没有任何影响。
    不过,我有一点疑惑,PLC浮点数指令,有什么作用呢?

回复人:njgk 

 回复时间:2005/10/1 5:23:00

支持(790) | 反对(1102)

 

    回复:浮点数的表示方法

    浮点数的表示方法
   
      浮点数,是指小数点在数据中的位置可以左右移动的数据。它通常被表示成:
        N = M* RE
   
      这里的M(Mantissa)被称为浮点数的尾数,R(Radix)被称为阶码的基数,E(Exponent)被称为阶的阶码。计算机中一般规定R为2、8或16、是一个确定的常数,不需要在浮点数中明确表示出来。因此,要表示浮点数,一是要给出尾数M的值,通常用定点小数形式表示,它决定了浮点数的表示精度,即可以给出的有效数字的位数。二是要给出阶码,通常用整数形式表示,它指出的是小数点在数据中的位置,决定了浮点数的表示范围。浮点数也要有符号位。在计算机中,浮点数通常被表示成如下格式:
   
   

PLC浮点数和整数之间有什么区别?

 
   
      Ms是尾数的符号位,即浮点数的符号位,安排在最高一位;
      E 是阶码,紧跟在符号位之后,占用m位,含阶码的一位符号;
      M 是尾数,在低位部分,占用n位。
   
      合理地选择m和n的值是十分重要的,以便在总长度为1+m+n个二进制表示的浮点数中,既保证有足够大的数值范围,又保证有所要求的数值精度。例如,在PDP-11/70计算机中,用32位表示的一个浮点数,符号位占一位,阶码用8位,尾数用23位,数的表示范围约为±1.7*10±38 ,精度约为10进制的7位有效数字。
   
      若不对浮点数的表示格式作出明确规定,同一个浮点数的表示就不是唯一的。例如0.5也可以表示为0.05×101 , 50×10-2 等。为了提高数据的表示精度,也为了便于浮点数之间的运算与比较,规定计算机内浮点数的尾数部分用纯小数形式给出,而且当尾数的值不为0时,其绝对值应大于或等于0.5,这被称为浮点数的规格化表示。对不符合这一规定的浮点数,要通过修改阶码并同时左右移尾数的办法使其变成满足这一要求的表示形式,这种操作被称为的规格化处理,对浮点数的运算结果就经常需要进行规格化处理。
   
      当一个浮点数的尾数为0,不论其阶码为何值,该浮点数的值都为0。当阶码的值为它能表示的最小一个值或更小的值时,不管其尾数为何值,计算机都把该浮点数看成零值,通常称其为机器零,此时该浮点数的所有各位(包括阶码位和尾数位)都清为0值。
   
      按国际电子电气工程师协会的IEEE标准,规定常用的浮点数的格式为:
   
           符号位  阶码  尾数  总位数
      短浮点数   1    8   23   32
      长浮点数   1    11   52   64
      临时浮点数  1    15   64   80
   
      对短浮点数和长浮点数,当其尾数不为0值时,其最高一位必定为1,在将这样的浮点数写入内存或磁盘时,不必给出该位,可左移一位去掉它,这种处理技术称为隐藏位技术,目的是用同样多位的尾数能多保存一位二进制位。在将浮点数取回运算器执行运算时,再恢复该隐藏位的值。对临时浮点数,不使用隐藏位技术。
   
      从上述讨论可以看到,浮点数比定点小数和整数使用起来更方便。例如,可以用浮点数直接表示电子的质量9×10-28 克,太阳的质量2×1033 克,圆周率3.1416等。上述值都无法直接用定点小数或整数表示,要受数值范围和表示格式各方面的限制。
   
回复人:hnxf75 

 回复时间:2005/10/1 14:14:00

支持(927) | 反对(861)

 

    回复:不错,在研究,已收藏!

    不错,在研究,已收藏!

回复人:shitai 

 回复时间:2005/9/30 18:52:00

支持(837) | 反对(935)

 

    回复:我也看不懂,谁帮助分析一下(有关数据类型)

    (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)。
   
   
    字段类型 描述
    bit 0或1的整型数字
    int 从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
    smallint 从-2^15(-32,768)到2^15(32,767)的整型数字
    tinyint 从0到255的整型数字
   
    decimal 从-10^38到10^38-1的定精度与有效位数的数字
    numeric decimal的同义词
   
    money 从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
    smallmoney 从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十
   
    float 从-1.79E+308到1.79E+308可变精度的数字
    real 从-3.04E+38到3.04E+38可变精度的数字
   
    datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒
    smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟
   
    timestamp 时间戳,一个数据库宽度的唯一数字
    uniqueidentifier 全球唯一标识符GUID
   
    char 定长非Unicode的字符型数据,最大长度为8000
    varchar 变长非Unicode的字符型数据,最大长度为8000
    text 变长非Unicode的字符型数据,最大长度为2^31-1(2G)
   
    nchar 定长Unicode的字符型数据,最大长度为8000
    nvarchar 变长Unicode的字符型数据,最大长度为8000
    ntext 变长Unicode的字符型数据,最大长度为2^31-1(2G)
   
    binary 定长二进制数据,最大长度为8000
    varbinary 变长二进制数据,最大长度为8000
    image 变长二进制数据,最大长度为2^31-1(2G)
   
   

回复人:tigeryuan 

 回复时间:2007/5/5 15:51:00

支持(1976) | 反对(889)

 

    很好,收藏了、\

回复人:cade_zk 

 回复时间:2007/6/19 7:52:00

支持(844) | 反对(894)

 

    运算处理时旧能发现了!

回复人:donghp 

 回复时间:2007/11/20 16:50:00

支持(803) | 反对(806)

 

    PLC中的PID指令就是会用的,自己可以感觉一下

 共3页  第1页   末页   页次: 1  2  3      下一页  

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳