首页 > Windows开发 > 详细

c# 位运算

时间:2018-05-09 11:21:56      阅读:208      评论:0      收藏:0      [点我收藏+]

1:异或运算:符号^,也称XOR运算,它的规则是若参加运算的两个二进制同号,则结果为0,异号则为1,即:0^0=0; 0^1=1; 1^0=1;1^1=0

  

2:对两个表达式执行按位异或。

result = expression1 ^ expression2

参数

result

任何变量。

expression1

任何表达式。

expression2

任何表达式。

说明

^ 运算符查看两个表达式的二进制表示法的值,并执行按位异或。该操作的结果如下所示:

0101     (expression1)
1100     (expression2)
----
1001     (结果)

当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。

只能用于整数

 

3:算法例子:LeedCode136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例 1:

输入: [2,2,1]
输出: 1

示例 2:

输入: [4,1,2,1,2]
输出: 4
class Program
    {
        static void Main(string[] args)
        {
            int[] nums = { 1, 1, 2, 3, 3 };
            Console.WriteLine(Solution.SingleNumber(nums));
        }
        public static class Solution
        {
            public static int SingleNumber(int[] nums)
            {
                for (int i = 1; i < nums.Length; i++)
                {
                    nums[0] ^= nums[i];//异或运算:先转换成二进制进行运算
                }
                return nums[0];
            }
        }

 

c# 位运算

原文:https://www.cnblogs.com/SimplePoint/p/9013105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!