Flutter中的异或运算以及十进制转二进制

在Flutter中,异或运算可以通过“^”运算符来实现。异或运算是一种逻辑运算符,当两个操作数的对应位不同时,结果为1,否则结果为0。下面是一个简单的例子:

int a = 5; // 二进制为 101
int b = 3; // 二进制为 011
int result = a ^ b;
print(result); // 输出2,二进制为 110

在这个例子中, a ^ b 运算的结果为2,因为 53 的二进制表示中,只有最后一位不同。因此,最终的结果是二进制的 010 ,也就是十进制的2。

5 的二进制

将十进制数转换为二进制数,需要采用“除以2取余”的方法,具体如下所示:

  1. 将需要转换的十进制数除以2,得到商和余数。
  2. 将商继续除以2,重复以上步骤,直到商为0。
  3. 将每次得到的余数从下往上依次排列,即为该十进制数的二进制表示。 对于数字5,可以按照以下步骤将其转换为二进制数:
5 ÷ 2 = 2……1(余数为12 ÷ 2 = 1……0(余数为01 ÷ 2 = 0……1(余数为1

然后将每次得到的余数从下往上排列,得到的就是二进制数101。

3 的二进制计算过程
3 ÷ 2 = 1……1(余数为11 ÷ 2 = 0……1(余数为1

然后将每次得到的余数从下往上排列,得到的就是二进制数11。


异或运算是一种二进制运算,对于两个二进制数字的每一位,如果相同则为0,如果不同则为1。例如,在对数字5(二进制为101)和数字3(二进制为011)进行异或运算时,它们的二进制位如下所示:

101
^ 011
  ---
  110

因此,结果为二进制的110,也就是十进制的6。异或运算也可以用符号“^”表示,例如,在Dart编程语言中,“a ^ b”用于计算a和b之间的异或。

异或运算具有以下计算规则:

  1. 0 ^ 0 = 0,0 ^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0。
  2. 任何数字和0进行异或运算,结果都为它本身。
  3. 任何数字和它本身进行异或运算,结果都等于0。
  4. 异或运算满足结合律和交换律。

下面是一个异或运算的例子,假设我们要对数字6(二进制为110)和数字3(二进制为011)进行异或运算,它们的二进制位如下所示:

110
^ 011
  ---
  101

因此,结果为二进制的101,也就是十进制的5。
异或运算在计算机科学中应用广泛,尤其是在密码学方面,可以用于加密和解密数据,也可以用于校验和验证。此外,它还可以用于交换两个数字的值,而无需借助临时变量。


将十进制转换为二进制需要使用“除以2取余数”的方法,具体规则如下:

  1. 将十进制数除以二,得到商和余数。
  2. 再将商除以二,得到商和余数。
  3. 重复这个过程,直到商等于0为止。
  4. 然后将每一次得到的余数从下往上排列,得到的就是对应的二进制数。 例如,将十进制数47转换为二进制数,可以按照以下步骤进行:
47 ÷ 2 = 23……1 
23 ÷ 2 = 11……1 
11 ÷ 2 = 5……1 
5 ÷ 2 = 2……1 
2 ÷ 2 = 1……0 
1 ÷ 2 = 0……1 

最后,将每一次得到的余数从下往上排列,得到的就是二进制数101111,也就是十进制数47的二进制表示。

如果您有小程序、APP、公众号、网站相关的需求,您可以通过私信来联系我

如果你有兴趣,可以关注一下我的综合公众号:biglead

猜你喜欢

转载自blog.csdn.net/zl18603543572/article/details/130555252
今日推荐