作业帮 > 数学 > 作业

C# 如何 比较两个数的大小,不用比较符

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/05/03 10:17:40
C# 如何 比较两个数的大小,不用比较符
比如 怎么比较1跟2哪个大?有人说通过位移转换2进制,在怎么比较的?求详解.想以此了解比较与=运算哪个速度快一些
C# 如何 比较两个数的大小,不用比较符
'a和b(Integer)是要比较的数
Dim delta As Integer
delta = a - b
If delta = 0 Then
'两数相同
Else
If delta < 0 Then
'a小
Else
'b小
End If
End If
再问: C#
再答: 一样的            int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            int delta = a - b;
            if (delta.Equals(0))
            {
                // 两数相同
            }
            else
            {
                if (delta.Equals(Math.Abs(delta)))
                {
                    // a大
                }
                else
                {
                    //b大
                }
            }
再问: 写成这个我看懂了,wo可能没说清,不能使用比较机制Equals的比较机制是什么?这个比较机制中用不用比较运算符?无论是字符,数字,本质是不是都是二进制数,他们怎么比较的,这个机制是什么
再答: Equals是比较两个对象是否相同,对于普通类型来说,它仅仅比较两个引用是否相同,但对于值类型来说,它的比较机制比较复杂,还要用到反射机制,所以它和==还是有区别的。详细请看这里:http://kb.cnblogs.com/page/107604/ 我的方法是求两个数的差,若a大则差为正,若b大则差为负。正数的绝对值等于它本身,复数的绝对值则等于它的相反数。由于C#是运行在CLR平台上的,级别较高,个人认为直接弄二进制不太方便。