Tag: 二进制

您的计算机如何处理整数

这是与了解您的计算机及其软件相关的一系列博客文章中的第一篇博客文章。 目的是进一步了解Swift的内部,性能和性能。 我们将介绍计算机(数学)的基础知识,以及结构,数组和快速优化。 这篇文章将介绍位,字节,整数和数学。 位 在计算中,一切都是二进制的。 迅速地, 0b前缀表示字节文字的开始。 然后,所有数字( 0或1 )将字节中的位表示为小端。 0b00000000 该字节为0 ,因为所有位均为0。 字节序 这些位按从大到小(小端)或从小到大(大端)的顺序排列。 Endian,即列表中的最后一位,即列表中最小或最大的数字。 0b10100000 小尾数中的以下数字是128 + 0 + 32 + 0 + 0 + 0 + 0 + 0 ,因此为150 但是,在big endian中,这是1 + 0 + 4 + 0 + 0 + 0 + 0 + 0 ,因此是5 。 最低位代表1 ,每步乘以2 。 […]

>>按位移位(swift 3)<<

高级运算符“ <>”用于快速将整数位移位给定的次数。 向右移一点具有将整数减半的效果,而向左移则使整数加倍。 例如: //右移 让example1 = 8 >> 1 // example1 == 4 让example2 = 8 >> 2 // example2 == 2 //向左移动 让example3 = 8 << 1 // example3 == 16 让example4 = 8 << 2 // example4 == 32 要了解移位的情况,我们首先需要了解整数如何用二进制表示。 在此示例中,我将使用一个无符号的8位整数来演示其工作原理。 了解UInt8 我在示例中使用的是UInt8,因为它很容易理解,因为我们不处理负数和仅8位。 注意 :拥有带符号的整数基本上意味着二进制签名中的一位被用来表示整数是正数还是负数。 意味着我们只剩下7个位来定义一个数字。 这使移位变得更加复杂。 在无符号整数中,所有8位都可用于定义数字。 用8位数字表示一个数字意味着我们可以表示256种不同的可能性(0–255)。 0 = 00000000 […]