Merge pull request #28177 from wxy/20221026.0-️-Doing-64-bit-math-on-a-16-bit-system

R:published/20221026.0 ️ Doing 64-bit math on a 16-bit system.md
This commit is contained in:
Xingyu.Wang 2022-12-09 16:57:12 +08:00 committed by GitHub
commit c13c01fdab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,7 +42,7 @@
第一种是<ruby>无符号<rt>unsigned</rt></ruby>整型,其使用了所有的位来表达一个正数。无符号整型的值域为从 `0` 到 $2^{位长} - 1$。例如8 位数可以是 `0``255` 之间的任意值,而 16 位数则在 `0`
`65535` 之间,以此类推。
有符号整型也很类似。不同之处在于数字的最高位代表了这个数是一个正数(`0`)还是一个负数 `1`)。有符号整型的值域前半部分为正数,正数值域是从 `0` 到 $2^{(长 - 1)} - 1$。整型值域的后半部分为负数,负数值域则从 $0 - (2^{位长 - 1})$ 到 `-1`
有符号整型也很类似。不同之处在于数字的最高位代表了这个数是一个正数(`0`)还是一个负数 `1`)。有符号整型的值域前半部分为正数,正数值域是从 `0` 到 $2^{(长 - 1)} - 1$。整型值域的后半部分为负数,负数值域则从 $0 - (2^{位长 - 1})$ 到 `-1`
比如说,一个 8 位数代表着 `0``127` 之间的任意正数,以及 `-128``-1` 之间的任意负数。为了能更好的理解这一点,想象 **字节** 为一列数组 `[0...127,-128...-1]`。因为 `-128` 在数组内紧跟着 `127``127` 加 `1` 等于 `-128`。当然这可能看起来有点奇怪甚至反常,但这其实让这个层级的基本数学运算变简单了。