首页 > 其他分享 >按位异或运算,同为1或同为0取0,不同取1

按位异或运算,同为1或同为0取0,不同取1

时间:2023-11-15 18:12:51浏览次数:34  
标签:10 15 运算 二进制 异或 按位 同为

假设有如下代码,那么a(10)的返回结果是?

function a(a){
    a^=(1<<4)-1;
    return a;
}

A
5

B
10

C
15

D
16

正确答案:A

1<<4 左移相当于1*2^4=16

a^=16-1=15

a=a15=1015

^ 异或运算:

10的二进制00001010

15的二进制00001111

========>00000101 转成十进制:5

(按位异或运算,同为1或同为0取0,不同取1)

<< 表示左移,先化为2进制,1为01,然后左移4位,成010000,再化为10进制,10000(二进制) = 16(十进制)。

接着a = a ^15 而a = 10,符号^表示异或,也就是比较对应的二进制位是否相同,相同为0,不同为1。

10的二进制 => 1010 15的二进制 => 1111 通过异或运算可以得到 0101 再转换成十进制即是5

标签:10,15,运算,二进制,异或,按位,同为
From: https://www.cnblogs.com/longmo666/p/17834441.html

相关文章

  • js按位运算符(按位或,按位与,按位异或)
    1.按位操作的概念:按位操作为,将数据转化为二进制八位展示/十六位展示后根据条件进行计算的操作2.按位运算符分类:&:按位与|:按位或^:按位异或~:按位非<<:左移运算符>>:右移运算符>>>:无符号右移3.具体讲解:&:按位与 ----将数......
  • 【LC周赛-371】 D. Trie树求最大异或对
    【LC周赛-371】D.Trie树求最大异或对题意给一个数组,求两个数满足|x-y|<=min(x,y)的异或最大值。题解从|x-y|<=min(x,y)知道,每个y可以考虑的x范围是y/2<=x<y;然后Trie树实现更优复杂度内,从窗口获得最大异或值思路就是高位依次取值,具体看代码吧代码constint......
  • 【竞赛题】找出强数对的最大异或值 I
    1题目: 给你一个下标从0开始的整数数组nums。如果一对整数x和y满足以下条件,则称其为强数对:|x-y|<=min(x,y)你需要从nums中选出两个整数,且满足:这两个整数可以形成一个强数对,并且它们的按位异或(XOR)值是在该数组所有强数对中的最大值。返回数组nums所有可能的强......
  • 异或问题合集
    评价:我有异或症。收集了一些跟异或相关的trick,主要是以题目的形式放出来,做到了新的会再加。由于本人不太会线性基,正在考虑要不要改成01-Trie学习笔记,相关题目暂时应该是没有,主要考虑异或本身的性质。P4551最长异或路径题目链接设\(dis_u\)表示根到\(u\)路径上所有边......
  • 【题解 P8763】[蓝桥杯 2021 国 ABC] 异或变换
    同楼上dalao做法:#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<cstdlib>#include<bitset>usingnamespacestd;constintN=1e4+10......
  • 19.8 Boost Asio 异或加密传输
    异或加密是一种对称加密算法,通常用于加密二进制数据。异或操作的本质是对两个二进制数字进行比较,如果它们相同则返回0,如果不同则返回1。异或加密使用一把密钥将明文与密文进行异或运算,从而产生密文。同时,使用相同的密钥进行解密将返回原始的明文数据。在异或加密中,加密和解密使用的......
  • 19.8 Boost Asio 异或加密传输
    异或加密是一种对称加密算法,通常用于加密二进制数据。异或操作的本质是对两个二进制数字进行比较,如果它们相同则返回0,如果不同则返回1。异或加密使用一把密钥将明文与密文进行异或运算,从而产生密文。同时,使用相同的密钥进行解密将返回原始的明文数据。在异或加密中,加密和解密使用......
  • 02-异或算法
    2.异或算法2.1异或基础0^N==NN^N==0;记为无进位相加即可,1+1=0;异或运算满足交换律和结合。2.1.1不用额外变量交换两个数解法:aba=b,abb=a。2.1.2找出现奇数次的数1.题目​ 一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数。2.......
  • 丢失的数字——异或运算
    异或运算1.0和任何数字异或===任何数字本身2.相同数字异或===0,不相同数字异或===13.遵循交换律,结合律 题目给定一个包含 [0,n] 中 n 个数的数组 nums ,找出 [0,n] 这个范围内没有出现在数组中的那个数。输入:nums=[3,0,1]输出:2输入:nums=[0,1]输出:2......
  • 异或树学习指南
    前置芝士异或树中可以形成回文的路径数[problemdescription]给你一棵树(即,一个连通、无向且无环的图),根节点为0,由编号从0到n-1的n个节点组成。这棵树用一个长度为n、下标从0开始的数组parent表示,其中parent[i]为节点i的父节点,由于节点0为根节点,所以pa......