Swift I';我很困惑。。。8位、16位、32位和64位格式到底是什么?

Swift I';我很困惑。。。8位、16位、32位和64位格式到底是什么?,swift,binary,int,Swift,Binary,Int,我是编程新手,我一直在阅读。在他们关于整数的段落中,我看到了一些关于8、16、32和64位形式的内容: Swift提供8、16、32和64位形式的有符号和无符号整数 我对它们是什么有点困惑。 书中还提到了一些关于具有最小值和最大值的位形式: 可以使用每个整数类型的“最小”和“最大”属性访问其最小值和最大值 谢谢 我想你说的是不同形式的Int和UInt 首先,您必须了解值是如何存储在计算机中的。你可能听说过代表权。关于这个话题有很多可以讨论的,但这里有一个简短的解释: 我们通常使用十进制数。这意味

我是编程新手,我一直在阅读。在他们关于整数的段落中,我看到了一些关于8、16、32和64位形式的内容:

Swift提供8、16、32和64位形式的有符号和无符号整数

我对它们是什么有点困惑。
书中还提到了一些关于具有最小值和最大值的位形式:

可以使用每个整数类型的“最小”和“最大”属性访问其最小值和最大值


谢谢

我想你说的是不同形式的
Int
UInt

首先,您必须了解值是如何存储在计算机中的。你可能听说过代表权。关于这个话题有很多可以讨论的,但这里有一个简短的解释:

我们通常使用十进制数。这意味着您可以在每列(
1s
10s
100s
)中使用十个不同的数字(
0
9
)。因此,可以用十进制表示的值的数量由列数的幂给出。
10

如果只有两个列,则可以将
00
表示为
99
,因此
100
值不同,或
10²

现在除了十进制,还有其他的数字系统。主要区别在于它们的基础。十进制也称为基数10,因为它有十个不同的数字。
二进制也称为base-2,这意味着只有两个数字:
0
1

由于数字上的限制,我们也限制了给定列数下可以表示的不同值的数量。通过两列,我们能够在base-10中表示
10²
值。因此,在base-2中,我们可以表示
值:
0
3
,或者用二进制
00
11

要获得更深入的解释,请查看此

现在,
Int
s的形式(
8
16
32
…)指的是列数。
Int
s当然存储在内存中。由于内存是有限的,所以允许使用的
Int
列或位的数量是有限的。值
8
16
32
等是
Int
使用的位数。由于这个限制,
Int
s只能根据位数存储一系列数字

因此
UInt8
具有
8
位,因此
8
列,并且可以存储
2^8
值:
0
255

Int32
具有
32
位,可以将
2^32
值存储为
-2147483648
2147483647

现在,
Int
UInt
之间的区别很简单
Int
可以表示正数和负数,而
UInt
只能表示非负数(因此大于或等于
0


我不打算解释负二进制数。如果您感兴趣,请查看。

我想您谈论的是不同形式的
Int
UInt

首先,您必须了解值是如何存储在计算机中的。你可能听说过代表权。关于这个话题有很多可以讨论的,但这里有一个简短的解释:

我们通常使用十进制数。这意味着您可以在每列(
1s
10s
100s
)中使用十个不同的数字(
0
9
)。因此,可以用十进制表示的值的数量由列数的幂给出。
10

如果只有两个列,则可以将
00
表示为
99
,因此
100
值不同,或
10²

现在除了十进制,还有其他的数字系统。主要区别在于它们的基础。十进制也称为基数10,因为它有十个不同的数字。
二进制也称为base-2,这意味着只有两个数字:
0
1

由于数字上的限制,我们也限制了给定列数下可以表示的不同值的数量。通过两列,我们能够在base-10中表示
10²
值。因此,在base-2中,我们可以表示
值:
0
3
,或者用二进制
00
11

要获得更深入的解释,请查看此

现在,
Int
s的形式(
8
16
32
…)指的是列数。
Int
s当然存储在内存中。由于内存是有限的,所以允许使用的
Int
列或位的数量是有限的。值
8
16
32
等是
Int
使用的位数。由于这个限制,
Int
s只能根据位数存储一系列数字

因此
UInt8
具有
8
位,因此
8
列,并且可以存储
2^8
值:
0
255

Int32
具有
32
位,可以将
2^32
值存储为
-2147483648
2147483647

现在,
Int
UInt
之间的区别很简单
Int
可以表示正数和负数,而
UInt
只能表示非负数(因此大于或等于
0


我不打算解释负二进制数。如果您感兴趣,请查看。

请引用您不清楚的声明。“我看见了