c程序中整形变量只能存放整数实型变量只能存放浮点数_c语言合法的实型常量

c程序中整形变量只能存放整数实型变量只能存放浮点数_c语言合法的实型常量vb中,以下变量类型1,数字型变量(numeric)2,字符串型变量(string)3,日期型变量(date)4,对象型变量(object)5,变体型变量(variant)这几个vb变量类型中,最最主要的就是前面两个,数字型变量和字符串型变量.意思很简单,数字型可以用来存放数字,字符串型存放文本.下面就来详细介绍这几种变量.1.数字型数字型变量有多种类型,在咱们的vb里,有3中数字数据类型1;整形…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

b365a4d18a9ddbba4dbad973bd32f001.png

vb中,以下变量类型
1,数字型变量(numeric)
2,字符串型变量(string)
3,日期型变量(date)
4,对象型变量(object)
5,变体型变量(variant)
这几个vb变量类型中,最最主要的就是前面两个,数字型变量和字符串型变量.意思很简单,数字型可以用来存放数字,字符串型存放文本.
下面就来详细介绍这几种变量.
1.数字型
数字型变量有多种类型,在咱们的vb里,有3中数字数据类型
1;整形
2;浮点型
3;货币型
其中,整形数据还可以分为整形(integer)和长整形(long).浮点型还可以分为单精度型(single)和双精度型(double)
数字型变量分这么详细,其实是为了提高程序的运行效率.如果在程序中大量使用双精度型,会直接影响到程序的运行速度,但它的精度提高了.前面咱们知道了变量的声明方式,这样我们就可以声明不同类型的变量了!
dim z_ge as integer
dim z_D as long
…..
等等等等,都是这样的声明方式

但要注意的是,dim语句可以在一条语句中声明多个变量,但必须注意变量声明的格式!否则将的不到正确结果!

例如

dim z_ge, z_zf as integer

这本意是将两个变量声明为一种格式,但这是错误的!

我们可以用typename()函数,验证上面的变量类型

声明完变量后,我们这样检查

debug.print “z_ge is ” & typename(z_ge)

运行后,在那个”立即”窗口中,可以看到结果

z_ge is empty

只有最后的那个变量,被声明为integer,你可以多声明几个,多测试几次就知道了!

正确的声明方法是

dim z_ge as integer, z_zf as integer

不同的数字型,所表示的范围是不同的,Integer 存放-32,768 到 32,767

Long 存放-2,147,483,648 到 2,147,483,647

Single 存放 负数:-3.402823E38 到 -1.401298E-45;正数:1.401298E-45 到 3.402823E38

Double 存放 负数: -1.79769313486232E308 到 – 4.94065645841247E-324;

正数:4.94065645841247E-324 到 1.79769313486232E308 之间的数

Currency 存放 从 -922,337,203,685,477.5808到 922,337,203,685,477.5807

是不是很high呀!

就运算速度来说integer是最快的!不过也要根据实际情况而决定!如果变量要包括小数部分,那样可以声明为single ,double, currency这几种类型.single和double主要差别不是它们的数值范围,而在于表示数值的精度.例如,用single来表示1除以3,结果是0.3333333如果我们采用double,则它的结果为 0 .333333333333333 我们在实际运用中,这可以灵活运用!

currency可以存放定点数,它支持小数前面15位和后面4位.

这里需要我们注意的是,不数字类型在机器内部表示不同的格式.所有的数值都要在在一定位数进行结尾.比如我们刚才运行的1除以3 结果是0.3333333……无穷多个3.而在机器中,即使把所有的内存用光,也是要截尾的.

我们看看下面的程序

Private Sub Form_Load()

Dim a As Single

a = 1 / 3

Debug.Print a

End Sub

运行后,在”立即”框中,看到的结果是0. 3333333

如果我们再让它乘上10000000

它的结果就成了3333334

显然,它的结果不是我们期待的那样.也许我们对这些误差不是特别在意,但我们必须牢记:这种误差在以后的计算中是很有可能被逐步放大的!咱们已经初步理解vb中数字型变量了,下面再说说数字型变量的精度同样,每一种数据类型都有它自己的精度,整数型数据精度不用我们太多的关注他.精度的概念再浮点数上体现的比较多!浮点数种整数部分越小,那它可以放置小数位数就越多,这是因为存放再数据的内存字节数都是一定的.

例如,我们用双精度double数据类型表示,则2除以3的结果为 0.666666666666667而200000除以3的结果用double类型表示则为66666.6666666667

因为vb只能用8个字节来存放这个数字,较大数字的有些字节要分配给整数部分,小数部分的字节数就越少.

如果我们需要尽可能高的精度的时候,有些控制精度的技巧是需要学习的.

1.调整数字的偏差量.如,我们在计算10000000~10000001之间的数的时候,我们可以先减去10000000让数字缩小到0~1之间,然后到运算结束后,再将结果加上10000000

2.尽量减少不必要的计算.在所做的各种运算里,如果涉及到很复杂的运算攻势,我们有必要对公式进行化简.来避免不必要的运算步骤(这也叫偷懒).例如,在计算c=a*b/a+a的时候,我们完全可以将公式写成c=b+a这样做就减少了不必要的误差.精度理解之后,下面学习一下byte数据类型

上面我们可以看出,数字型数据存放的最小占用内存是2个字节,并没有哪一种数字型数据是存放在单个字节种的.不过,在一些场合,假如要方位2进制文件的时候,需要对数据各个字节都进行访问,这时,byte类型就派上用场了…

byte数据类型可以表示0~255之间的整数.和其他的数字型数据声明的格式都是一样的.

dim a as byte

byte数据类型也可以用来做数字计算,但计算的数字,和结果必须控制在255这个数字以内.否则将会出现溢出错误(这是程序员最忌讳的)

例如以下代码

dim a as byte

dim b as byte

a=230

b=50

b=b+a

debug.print b

其结果是280,但这时就会出现溢出错误,因为280无发放置在1个字节中.不过,值得注意的是如果我们使用,msgbox a+b却可以显示正常的结果!

呵呵,vb有意思吧..

◆◆

评论读取中….

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213385.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【测试岗】快来抄模板,3W字41个软件测试超常见实例问题(附带答案)

    码字太难了,这些问题保存在我的word文档中,但是CSDN有特殊的模板格式,结果还是一行行粘贴过来的大家看着这份文章上,多给点关注收藏呀~~~~~~另外需要更多的面试题可以点击并输入暗号:CSDN目录1.给你一个字符串,你怎么判断是不是ip地址?手写这段代码,并写出测试用例2.请进行测试用例设计:一串数字,闰年的判别3.请你说一说简单用户界面登陆过程都需要做哪些分析4.请对这个系统做出测试用例:一个系统,多个摄像头,抓拍车牌,识别车牌,上传网上,网上展示5.请你对吃鸡游戏进行压力测试6.请你根据微

    2022年4月8日
    48
  • elasticsearch集群搭建对服务器硬件_elasticsearch集群搭建

    elasticsearch集群搭建对服务器硬件_elasticsearch集群搭建一、ElasticSearch集群1.1搭建集群Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错,Kibana也无法启动,因为Kibana无法获取集群中的节点信息。由于,我们使用只有一台虚拟机,所以我们在虚拟机中安装三个ES实例,搭建伪集群,而ES启动比较耗内存,所以先设置虚拟机的内存3G和CPU个数4个

    2022年10月10日
    4
  • 如何修改Tomcat版本[通俗易懂]

    如何修改Tomcat版本[通俗易懂]1.找到tomcat所在位置进入lib目录apache-tomcat-8.0.0\lib2.lib目录下有个catalina.jar用解压缩软件打开(可以先解压再修改版本号再打成jar包这样太麻烦所以直接用解压缩软件打开就行,我用的是winzip)3.打开后在catalina.jar\org\apache\catalin

    2022年8月30日
    4
  • 多国语言在线客服系统源码+软件下载二合一集成

    多国语言在线客服系统源码+软件下载二合一集成  本文分三部分系统介绍如何开发一套在线客服系统聊天源码,该源码基于ThinkPHP,代码完全开源。  首先,我们只使用@auth指令。  其次,我们添加一个带有参数的订阅类型。  第三,我们更新@auth指令和订阅类型。  完整源码:kf.zxkfym.top  1使用@auth指令并执行身份验证  添加和使用身份验证$amplifyaddauthScanningforplugins…PluginscansuccessfulUsingservice:Cog

    2022年7月19日
    30
  • 聊聊学习和成长

    聊聊学习和成长

    2022年3月7日
    45
  • JSP内置对象Session

    JSP内置对象Session1创建和获取客户的会话setAttribute()与getAttribute()session.setAttribute(Stringname,Objectobj)如session.setAt

    2022年7月2日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号