什么是十进制的0x10?

我有以下代码:

SN.get_Chars(5)

SN是一个字符串所以这应该给第五个字符好!

现在我有另一个代码但是:SN.get_Chars(0x10)

我想知道0x10是什么? 这是一个数字吗? 如果是这样,那么十进制表示法是什么?

0x表示数字是hex ,或16。

0x10是16。

0xNNNN (不一定是四位数)在C中至少表示hex(base-16因为’hex’是6而’dec’在拉丁语派生语言中是10)数字,其中N09之一的数字之一或者AF (或它们的小写等价物,代表10到15),并且数字中可能有1个或多个这些数字。 表示它的另一种方式是NNNN 16

它在计算机领域非常有用,因为单个hex数字代表四位(二进制数字)。 这是因为四个位,每个位有两个可能的值,总共给出2 x 2 x 2 x 216 (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 

base-X数是一个数字,其中每个位置代表X的幂的倍数。


在我们人类习惯的基数10中,使用的数字是09 ,数字7304 10是:

  • (7 x 10 3 )= 7000 10 ; 加
  • (3 x 10 2 )= 300 10 ; 加
  • (0 x 10 1 )= 0 10 ; 加
  • (4 x 10 0 )= 4 10 ; 等于7304。

在八进制中,数字为07 。 数字754 8是:

  • (7 x 8 2 )= 448 10 ; 加
  • (5 x 8 1 )= 40 10 ; 加
  • (4 x 8 0 )= 4 10 ; 等于492 10

C中的八进制数字前面是字符0因此0123不是123而是(1 * 64)+(2 * 8)+ 3或83。


在二进制中,数字为01 。 号码1011 2是:

  • (1 x 2 3 )= 8 10 ; 加
  • (0 x 2 2 )= 0 10 ; 加
  • (1 x 2 1 )= 2 10 ; 加
  • (1 x 2 0 )= 1 10 ; 等于11 10

在hex中,数字为09AF (表示“数字” 1015 )。 数字7F24 16是:

  • (7 x 16 3 )= 28672 10 ; 加
  • (F x 16 2 )= 3840 10 ; 加
  • (2 x 16 1 )= 32 10 ; 加
  • (4 x 16 0 )= 4 10 ; 等于32548 10

你的相对简单的数字0x10 ,即C代表10 16的方式,简单地说就是:

  • (1 x 16 1 )= 16 10 ; 加
  • (0 x 16 0 )= 0 10 ; 等于16 10

另外,数字的不同基数用于许多事情。

  • 如前所述,使用基座10,我们的手上有10位数字。
  • 由于相对容易用电路表示两个二进制状态,计算机使用基座2。
  • base 8几乎只用于UNIX文件权限,因此每个八进制数字代表一个3元组的二进制权限(读/写/执行)。 它还用于基于C语言和UNIX实用程序,以将二进制字符注入到其他可打印字符的数据流中。
  • 基数16是将四位表示为数字的便利方式,尤其是现在大多数体系结构的字大小是四位的倍数。
  • base 64用于编码邮件,因此可以仅使用可打印字符发送二进制文件。 每个数字代表六个二进制数字,因此您可以将三个八位字符打包成四个六位数字(文件大小增加25%,但保证通过邮件网关不受影响)。
  • 作为一个半有用的片段,基地60来自一些非常古老的文明(巴比伦,苏美尔,美索不达米亚或类似的东西),并且是分钟/小时60秒/分钟,圆形360度,60分钟(弧度)在某种程度上[与计算机行业没有关系,但仍然很有趣]。
  • 作为一个甚至不太有用的片段, “银河系旅行者指南”中的终极问题和答案是“当你乘以6乘9时,你会得到什么?” 和“42”。 虽然同样的说这是因为地球计算机有故障,其他人认为它是创造者有13个手指的证据:-)

它是hex数,小数点后16位。

请注意,’10’是该基数中基数的表示:

10是基数2中的2(十进制)

10是基数-3的3(十进制)

10是10(十进制)的基数为10

10是16(十进制)in base-16(hex)

10是1024(十进制),以1024为基数

…等等

简单版本是0x是表示hex数字源的前缀。

因此,您计算的值是前缀之后,在本例中为10。

但这不是数字10.最高有效位1表示hex值,而0表示单位。

所以你要做的简单数学就是

为0x10

 1 * 16 + 0 = 16 

注意 – 您使用16,因为hex是基数16。

另一个例子:

0xF7

 15 * 16 + 7 = 247 

您可以通过搜索hex表来获取值列表。 例如,在此图表中,通知F对应于15。