vb.net单精度浮点 vb浮点数定义

如何用VB.NET将单精度16进制转换成浮点数#读取上次检查到的行数
last_line=`cat ./mailinfo`
echo "上次行数:"$last_line
#算出本次alert日志的行数
current_line=`wc -l $alert_log|awk '{print $1}'`
echo "本次行数:"$current_line
#取上次行数和本次行数之间的alert日志内容,然后把ORA错误及上下三行放到mailinfo中
VB.net每种数据类型特点?VB.NET数据类型VB.NET中有12种不同的数据类型 , 可以分成三类:数值类型、文本类型和混合类型 。数值类型是VB.NET数据类型的主要类型,共7种 。数值类型的数据类型见下表 。数据类型表示方式取 值 范 围说明整型Integer–2147483648~2147483647用于表示简单整数字节型Byte0~255用于简单算术运算 。由于这个类型的变量可以在一个字节中存储,所以运算速度最快短整型Short–32768~32767是整型的一种形式,相对表示范围较小长整型Long–9223372036854775808~9223372036854775807是整型的一种形式 , 相对表示范围较大单精
度型Single–3.402823E38~–1.401298E-45(对于负数)和1.401298E-45~3.402823E38(对于正数)用于存放单精度浮点数双精
度型Double–1.79869313486232E308~–4.94065645841247E-324(对于负数)和4.94065645841247E-324~1.79869313486232E308(对于正数)用于存放双精度浮点数小数Decimal当小数位为0的时候,为–79228162514264337593543950335~
79228162514264337593543950335;当小数位为28的时候 , 为–7.9228162514264337593543950335~
7.9228162514264337593543950335常用于存储货币值 数值类型的数据类型 用于存放文本的数据类型有两个 。文本类型的VB.NET数据类型见下表 。数 据 类 型表 示 方 式说明字符串型String用于存放任何形式的字符串,包括一个字符或者多行字符字符型Char用于存放一个字符,它以0~65535之间数字的形式存储文本类型的数据类型 其中需要说明的是: (1) 对于String类型,可以存放任何形式的字符串,它可以是纯粹的文本,也可以是文本和数字的组合或者是数字、日期等 。例如"This is a book. "和"12345"都是字符串 。对于字符串类型的数据,可以进行相关的字符串操作,例如连接、截断等 。(2) 对于Char类型,可以存储的只是一个字符,注意,这个字符的存储编码必需是一个数字 。在计算机系统中,可以显示很多符号(不仅仅是英文字母),为了能够正确地显示,国际上有通用的标准(例如Unicode编码),为每个字符设定了一个标准的数值来表示这个字符 。其余的数据类型还有:Date数据类型、布尔数据类型和Object数据类型 , 其说明见下表 。数 据 类 型表 示 方 式说明日期型Date必须用mm/dd/yyyy的格式表示,也可以存储时间(可以存储00:00:00~23:59:59之间的任何时间)布尔型Boolean取值为True和False对象型Object 其他数据类型 其中需要说明的是:在VB.NET中,对于Boolean类型的数据,当需要把布尔类型的值转换为数值类型的时候,会把True当成1来处理,把False当作0来处理 。当需要把VB.NET数值类型的值转换为布尔类型的时候,会把0转换为False,而把其他的非0数值转换为True 。
VB.NET中单精度浮点与双精度浮点的实质区别是什么单精度只保留6位有效数字 。另外双精度可以保留15位数字 。这是2者最明显的区别 。
在vb里单精度浮点数的正值取值范围为1.401 298E-45 ~ 3.402 823E 38,怎么算的?VB的Single 数据类型
Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式 , 它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38 。Single 的类型声明字符为感叹号 (!) 。
在内存以32位二进制形式存在:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
第1位为符号位
第2-9位为阶码位
第10-32位为2进制小数尾值
即F2 ^ n * 1. XXXXXXX XXXXXXXX XXXXXXXX
其中
F为正号或负号(首为为0正数,首位为1负数
n为2-9位组成的BYTE数据值
XXXXXXX XXXXXXXX XXXXXXXX为尾数
参阅:
vb.net中 使用decimal,double类型的区别非整数类型包括Decimal(128位)定点数、Single(32位)单精度浮点数和Double(64位)双精度浮点数 。他们都是有符号类型 。定点数取值不允许有舍入的误差,而浮点数允许有舍入的误差 。浮点数的表示形式为:mmmEeee其中mmm为屦 , 而eee为指数(以10为底),对于非整数类型,值类型D表示Decimal,F表示Single , R表示Double 。数字类型一般情况下可以直接相互进行转换.
VB.net round问题这应该是由浮点数的误差所造成的,你把kk设为双精度浮点数 , 那么结果就是1.34
但是浮点数误差与精度是无关的,双精度也同样存在,继续测试你就会发现有趣的现象:
下面假定s为单精度浮点数变量,d为双精度浮点数变量 , 则:
s = 1.345 Round(s, 2) = 1.35(错)
d = 1.345 Round(d, 2) = 1.34(对)
s = 2.345 Round(s, 2) = 2.35(错)
d = 2.345 Round(d, 2) = 2.35(错)
s = 3.345 Round(s, 2) = 3.35(错)
d = 3.345 Round(d, 2) = 3.34(对)
s = 4.345 Round(s, 2) = 4.34(对)
d = 4.345 Round(d, 2) = 4.34(对)
可以发现这错误的发生是毫无规律的 , 有时候真能让人发疯!
【vb.net单精度浮点 vb浮点数定义】vb.net单精度浮点的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于vb浮点数定义、vb.net单精度浮点的信息别忘了在本站进行查找喔 。

    推荐阅读