Swift I';我很困惑。。。8位、16位、32位和64位格式到底是什么?
我是编程新手,我一直在阅读。在他们关于整数的段落中,我看到了一些关于8、16、32和64位形式的内容: Swift提供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 首先,您必须了解值是如何存储在计算机中的。你可能听说过代表权。关于这个话题有很多可以讨论的,但这里有一个简短的解释: 我们通常使用十进制数。这意味
书中还提到了一些关于具有最小值和最大值的位形式: 可以使用每个整数类型的“最小”和“最大”属性访问其最小值和最大值
谢谢 我想你说的是不同形式的
Int
和UInt
首先,您必须了解值是如何存储在计算机中的。你可能听说过代表权。关于这个话题有很多可以讨论的,但这里有一个简短的解释:
我们通常使用十进制数。这意味着您可以在每列(1s
,10s
,100s
)中使用十个不同的数字(0
到9
)。因此,可以用十进制表示的值的数量由列数的幂给出。10
。如果只有两个列,则可以将
00
表示为99
,因此100
值不同,或10²
现在除了十进制,还有其他的数字系统。主要区别在于它们的基础。十进制也称为基数10,因为它有十个不同的数字。二进制也称为base-2,这意味着只有两个数字:
0
和1
由于数字上的限制,我们也限制了给定列数下可以表示的不同值的数量。通过两列,我们能够在base-10中表示10²
值。因此,在base-2中,我们可以表示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中,我们可以表示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
)
我不打算解释负二进制数。如果您感兴趣,请查看。请引用您不清楚的声明。“我看见了