我正在自学编程。和任何(好)学生一样,我遇到了一个障碍。
首先,我一直在读-一个比特可以存储的值的数量是2。没有人说是0还是1。
第二,3位可以存储8个值。。。嗯。。如何???
这在数学上难道不是不可能的吗?
如果我们有一个开关。。。一个开关能够:ON或OFF两个开关:
开关1:ON OFF ON OFF开关2:ON-OFF OFF ON<-四个值。
3位如何加起来8个值??
应该是六对吗?
开关1:ON OFF ON OFF开关2:ON OFF OFF ON开关3:ON-OFF ON-OFF
很快会有人帮忙!
000
001
010
011
100
101
110
111
其中0=关闭1=开启
:)
一个位可以有两个值。如果有三个比特,则23=8。
一位可以存储两个值。0和1两位可以选通四个值00、01、10和11三个比特可以存储八个值000001010011、100101110和111。
这意味着所有比特的组合表示一个值,如010表示2和101表示5。相同的表达式是n比特可以表示2n值,因为在核心1比特可以表示两个值。
因为这里我们谈论的是位,所以它的定义是"0/1",即"False/True"或"OFF/ON"的表示。根据维基的说法,比特是计算和数字通信中信息的基本单位。一个比特只能具有两个值中的一个,因此可以用两态设备物理实现。这些值最常见的表示形式是0和1。
所以我们取三个比特,创建一个真值表,我们将得到以下八个组合。
[1st bit] [2nd bit] [3rd bit] [Bits into decimal number]
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
它显示了来自3位的8种不同组合。我希望这能回答你的问题。
二进制-十进制
00000000-0
0000000 1-1
00000010-2
00000011-3
00000100-4
00000101-5
00000110-6
00000111-7
8个比特被分组在一起以形成一个字节。在上面的例子中,1表示为00000001,2表示为00000010,依此类推。希望这有帮助。
考虑一个位是1或0。如果你想知道3位的最大值,写三个1,因为1是二进制值的最大值。这是111,检查它的十进制值7。所以0到7是8位
对于8位二进制11111111,十进制为255。因此0 t0 255是256是可能的最大值
每个开关有两个值-(ON,OFF)或(1,0)
它实际上很简单SET交叉操作
{(000),(001),(010),(011),(100),(101),(110),(111)}-8值
开关1开关2开关3ON ON ON关闭关闭
每个开关值的可能组合数为2 X 2 X 2=8
这是我自己想出来的。我必须首先意识到一些事情。
因为一个比特可以保持0或1,所以该比特是0或1。
所讨论的比特数量是水平排列的。所以4位就是4个占位符。其中,每个占位符将可能的值数量增加2的倍数。
值的数量是二进制数字的不同组合的数量,以及所讨论的比特数量。
4位示例:
没有1的组合:0000
组合一个:0001001001001000
与两个一的组合:0011011011110010100101
三个一的组合:011101111101101
四个一的组合:1111
有16种不同的组合,因此4位可以存储16种不同可能的值。这就是为什么2^n,其中n是比特数量,n=4是16。
1位:2值
2位:4值
3位:8值
4位:16个值
带3个开关:如果开关==off==>binair==0如果开关==打开===>二进制==1
[看图片][1]
https://i.stack.imgur.com/bSfha.jpg