我有以下代码:
SN.get_Chars(5)
SN
是一个字符串,所以这应该给出第 5 个字符。行!
现在我有另一个代码,但是:SN.get_Chars(0x10)
我想知道0x10是什么?是数字吗?如果是这样,那么十进制表示法是什么?
0xNNNN
(不一定是四位数字)至少在 C 中表示十六进制(base-16,因为 'hex' 是 6 而 'dec' 在拉丁衍生语言中是 10)数字,其中N
一个数字是0
通过9
或A
通过F
(或它们的小写等价物,代表 10 到 15),并且数字中可能有 1 个或多个这些数字。表示它的另一种方式是 NNNN 16。
它在计算机世界中非常有用,因为一个十六进制数字代表四位(二进制数字)。那是因为四位,每一个都有两个可能的值,给你一个总数2 x 2 x 2 x 2
or 16
(2 4 ) 个值。换句话说:
_____________________________________bits____________________________________
/ \
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
| bF | bE | bD | bC | bB | bA | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
\_________________/ \_________________/ \_________________/ \_________________/
Hex digit Hex digit Hex digit Hex digit
一个以 X 为底的数字是一个数字,其中每个位置代表 X 的幂的倍数。
在我们人类习惯的以 10 为底的情况下,使用的数字是0
through 9
,数字 7304 10是:
在八进制中,数字0
通过7
. 数字 754 8是:
C 中的八进制数以字符开头,0
因此0123
不是 123,而是 (1 * 64) + (2 * 8) + 3 或 83。
在二进制中,数字是0
和1
。数字 1011 2是:
在十六进制中,数字是0
直通9
和A
直通F
(表示“数字”10
直通15
)。数字 7F24 16是:
您相对简单的 number 0x10
(即 C 表示 10 16的方式)就是:
顺便说一句,不同的数字基数用于许多事情。
0x 表示数字是十六进制,或以 16 为基数。
0x10 是 16。
它是一个十六进制数,是十进制的 16。
请注意,“10”是该基数中基数的表示:
10 在 base-2 中是 2(十进制)
10 在 base-3 中是 3(十进制)
...
10 是以 10 为底的 10(十进制)
...
10 是 base-16(十六进制)中的 16(十进制)
...
10 是 1024(十进制),以 1024 为底
...等等