扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
应该定义为double或者single,string类好像不能进行运算。我简单说一下控制台的方法,你要一次性输入和差积商,首先声明两个变量用来储存两个数,然后用算法一次性输出结果就ok。
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站设计、彭水苗族土家族网络推广、微信平台小程序开发、彭水苗族土家族网络营销、彭水苗族土家族企业策划、彭水苗族土家族品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供彭水苗族土家族建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
Sub Main()
Dim FN As Single
Dim SN As Single
Dim ResultNum As Single
Console.WriteLine("请输入第一个数") : FN = Console.ReadLine
Console.WriteLine("请输入第二个数") : SN = Console.ReadLine
ResultNum = FN + SN
Console.WriteLine("它们的和: " ResultNum)
ResultNum = FN - SN
Console.WriteLine("它们的差: " ResultNum)
ResultNum = FN * SN
Console.WriteLine("它们的积: " ResultNum)
ResultNum = FN / SN
Console.WriteLine("它们的商: " ResultNum)
Console.ReadLine()
End Sub
注意只能对整型执行按位运算。浮点值必须转换为整型后,才能执行按位运算。按位运算采用二进制(以 2 为基)形式计算两个整数值。它们比较对应位置上的位,然后基于比较的结果赋值。下面的示例演示了 And 运算符。复制Dim x As Integerx = 3 And 5 前面的示例将 x 的值设置为 1。发生这种情况的原因如下:这些值以二进制形式处理:二进制格式的 3 为 011二进制格式的 5 为 101And 运算符比较这些二进制表示方式,一次比较一个二进制位置(位)。如果给定位置的两个位都为 1,则将 1 放在结果中的该位置。如果任何一个位是 0,则将 0 放在结果中的该位置。在前面的示例中,按如下所示计算结果:011(二进制格式的 3)101(二进制格式的 5)001(二进制格式的计算结果)计算结果以十进制形式处理。值 001 是 1 的二进制表示形式,因此 x = 1。除了在任何一个比较位是 1 或两个比较位都是 1 的情况下将 1 赋予结果位以外,按位 Or 运算与此类似。Xor 在比较的位正好只有一个是 1(而不是两者都是 1)时将 1 赋给结果位。Not 采用单个操作数并反转所有位(包括符号位),然后将该值赋予结果。这意味着,对于有符号正数,Not 始终返回负值,而对于负数,Not 始终返回正值或零。AndAlso 和OrElse 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“ ”来进行,而左移一次代表乘以2,要是乘以一个小数,就必须先化成2的n次方,不够再用加减法调整,很麻烦啊,没必要用位运算啊。。。 追问: 因为我要进行大量的运算,但速度要快,所有用位运算...我也不想啊.. 回答: 那就不该用VB 啊,c/c++在执行效率上是没话说的。 追问: 问题就是不会嘛... 回答: 那你上csdn上发帖效果应该不错 追问: CSDN发了,我发在高性能运算,没人... 回答: 耐心一些,或者你应该发到VB.NET论坛那里。。。 追问: 额..只能这样了... 提问者 的感言: 太复杂了..算了 2010-11-08
在VB中运用模运算(mod)进行求余数。
对于整型数a,b来说,取模运算或者求余运算的方法都是:
1、求 整数商: c = a/b;
2、计算模或者余数: r = a - c*b。
求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入;而取模运算在计算c的值时,向负无穷方向舍入。所谓向0方向舍入,就是以小数点为界限,直接将小数部分去掉。如(Int)-1.324=-1(亦叫截断法);
而向负无穷方向舍入,就是最终结果比真实值更小。如(Int)-1.324=-2;(int此处是强制转换数据类型)注意c是指商。
扩展资料
通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用’%’符号表示取模或者求余运算。在这里要提醒大家要十分注意当前环境下’%’运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。
求模运算和求余运算在第一步不同: 取模求余运算在取c的值时,向0 方向舍入(fix()函数);注:fix()函数是MATLAB中的一种取整函数、截断函数,直接截取数字的整数部分。而求余取模运算在计算c的值时,向无穷小方向舍入(floor()函数)。
注:floor()函数为向下取整的函数。
Option Explicit On
Option Strict On
Imports System
Module Program
Sub Main()
Dim s As String
Dim strs As String()
Dim fz,fm,n,m,t As Long
Console.Write("请输入一个小数:")
s=Console.ReadLine().Trim()
strs=s.Split("."C)
fz=CLng(strs(0))
fm=CLng(Math.Pow(10,strs(1).Length))
fz=fz*fm+CLng(strs(1))
n=fz
m=fm
While n Mod m0
t=n Mod m
n=m
m=t
End While
fz\=m
fm\=m
Console.WriteLine("{0}={1}/{2}",s,fz,fm)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流