C++ 以位添加列是什么意思?
我无法理解我在书中提到的以下文本的含义: 考虑四个两位数字C++ 以位添加列是什么意思?,c++,bit,C++,Bit,我无法理解我在书中提到的以下文本的含义: 考虑四个两位数字 00,01,10,11。如果你加起来 一的位,你得到一个偶数。 同样地,如果你把二加起来,你就 得到一个偶数。不管有多少 数字中的位,如果将 列,则得到一个偶数 具体来说,对于00“累加一点”是什么意思 一的位是表示一个“一”的位,即最右边的位。“2”位是用来保持2的位,即右边第二位。“2”位左边的下一位是“4”,以此类推 他们的意思是,如果你把四个数字写在一列中: 00 01 10 11 …你看第一列中有多少位(一的位)是1,你得到
00
,01
,10
,11
。如果你加起来
一的位,你得到一个偶数。
同样地,如果你把二加起来,你就
得到一个偶数。不管有多少
数字中的位,如果将
列,则得到一个偶数
具体来说,对于00
“累加一点”是什么意思 一的位是表示一个“一”的位,即最右边的位。“2”位是用来保持2的位,即右边第二位。“2”位左边的下一位是“4”,以此类推
他们的意思是,如果你把四个数字写在一列中:
00
01
10
11
…你看第一列中有多少位(一的位)是1,你得到一个偶数。类似地,第二列(“两位”)
他们的主张是,无论数字有多少位,如果你用那么多位写下所有数字,每列中1的数量都是偶数
他们关于一位数字的说法是错误的。通常,对于n位,每列中的1数(显然)将为2^(n-1),这是偶数,除非n=1
这是什么书?他们想表达什么意思?二进制数中的位通常根据其各自的二次幂按列“命名”:
00000000
│││││││└── 1's bit
││││││└─── 2's bit
│││││└──── 4's bit
││││└───── 8's bit
│││└────── 16's bit
││└─────── 32's bit
│└──────── 64's bit
└───────── 128's bit
回想一下十进制数字中的数字。例如:184。从最右边的数字开始,我们有4个,这相当于说“这个数字中有4个1”。它在1的位置,当我们向左转时,我们在10的位置有8个(表示有8个10),在100的位置有1个(只有100)。对于像10这样的二进制数(二进制表示2),最右边的0位于1的位置,“列”(从右侧开始的位置)是表示该数字中有多少个1的位置。同样的,1在2的位置,表示这个数字中有多少个2。我想它想说的是,如果你把所有的数字加上一定数量的位-在这个例子中,2加上每列的值,结果将是偶数 因此,对于4个2位数字,分别添加每列:
0 0
0 1
1 0
+1 +1
- -
2 2
每列加2-一个偶数
同样,对于所有3位数字:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
+1 +1 +1
- - -
4 4 4
每列加上4个偶数老实说,是奇怪的术语。
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
+1 +1 +1
- - -
4 4 4