如果byte是8位整数,那么我们如何将它设置为255?

l--*_*''' 13 c#

byte关键字表示存储值的整数类型,如下表所示.它是无符号的8位整数.

如果它只有8位,那么我们如何将它分配给等于255?

byte myByte = 255;
Run Code Online (Sandbox Code Playgroud)

我认为8位与一个角色是同一个东西?

Jes*_*sen 25

一个字节中有256种不同的位配置

0000 0000
0000 0001
0000 0010
...
1111 1111
Run Code Online (Sandbox Code Playgroud)

因此可以在0-255范围内为一个字节分配一个值


Joe*_*ton 19

通过适合8位结构内部的数字表示来描述(在基本意义上)字符.如果你查看ascii字符的ASCII代码,你会发现它们与数字有关.

比特序列可以表示的整数计数由公式2 ^ n-1生成(如上面由@Marc Gravell部分描述的).因此,8位结构可以保持256个值,包括0(还要注意TCPIP号是4个8位结构的独立序列).如果这是有符号整数,则第一位将是符号的标志,其余7将指示该值,因此虽然它仍将保持256个值,但最大值和最小值将由7个尾随位确定(因此2 ^ 7 - 1 = 127).

当您使用Unicode字符和"高ascii"字符时,编码需要超过8位结构.因此,在您的示例中,如果您要为字节分配值76,则可以查阅查找表以派生ascii字符v.


Pow*_*ord 11

11111111(8位) 255:128 + 64 + 32 + 16 + 8 + 4 + 2 + 1

也许你会把它与256混淆,这是2 ^ 8?


Mar*_*ell 9

8位(无符号)是0到255,或(2 ^ 8)-1.

听起来像你混淆整数VS数据的文本表示.


UGE*_*EEN 5

255 = 2 ^ 8 - 1 = FF [hex] = 11111111 [bin]


Dan*_*Tao 5

我认为8位与一个角色是同一个东西?

我认为你把数字255与字符串"255" 混淆了.

以这种方式思考:如果计算机在内部使用字符存储数字,它将如何存储这些字符?使用,对吗?

因此,在这个假设情景中,计算机将使用位来表示字符,然后它们用于表示数字.除了从效率的角度来看是可怕的,这只是多余的.比特可以直接表示数字.