Binary 如何解析十六进制和二进制?

Binary 如何解析十六进制和二进制?,binary,hex,Binary,Hex,我的意思是 在程序中,如果我编写以下内容: 1111 0xF 我是说15岁。同样,如果我这样写: 1111 0xF 我也指15岁。我不完全确定这个过程是如何通过芯片执行的,但我不确定地回忆起一些关于标记的事情,但本质上编译器会计算 2^3 + 2^2 + 2^1 + 2^0 = 15 在进行此计算之前,0xF是否会转换为“1111”,或者是否写入十六进制F表示15 Or simply, 16^0 ? -- which obviously is not 15. 我找不到任何有用的文章

我的意思是

在程序中,如果我编写以下内容:

1111
0xF
我是说15岁。同样,如果我这样写:

1111
0xF
我也指15岁。我不完全确定这个过程是如何通过芯片执行的,但我不确定地回忆起一些关于标记的事情,但本质上编译器会计算

2^3 + 2^2 + 2^1 + 2^0 = 15
在进行此计算之前,0xF是否会转换为“1111”,或者是否写入十六进制F表示15

Or simply, 16^0 ? -- which obviously is not 15. 
我找不到任何有用的文章说明从十六进制到十进制的转换,而不是首先转换为二进制


二进制(base2)是按照我上面的方式转换的(2^n..etc)。十六进制(base16)如何转换?是否有一个相关的系统,如base 2,用于base 16

我在一篇文章中发现:

0x1234=1*16^3+2*16^2+3*16^1+4*16^0=4660


但是,如果数字是0xF,这是否表示第0位中的F?我找不到一个简单的例子

有十六位十六进制数字,从0到9,从A到F

数字0到9在十六进制和十进制中是相同的。
0xA是1010。
0xB是1110。
0xC是1210。
0xD是1310。
0xE是1410。
0xF是1510。

例如:


0xA34F=10*163+3*162+4*161+15*160

完美,所以0xF=15*16^0。我懂了。因此,之前没有转换。谢谢。另一个简短的问题,阿尔比特离题了。由4位组成的组是否仍然表示为“零位?”我在OP中链接的文章使用了这个术语。此外,16位的组被称为“字”。同样,32位的组被称为“双字”。@sherrellbc:是的,这是相当标准的术语。有时拼写为“Nyble”,与可怜的“byte”相似。另一方面,“字”是什么,高度依赖于处理器和您使用的语言。在找到特定的验证之前,不要假设“单词”是任何特定的长度。请注意,许多编程语言不允许您直接输入“字符二进制”(如
011010
)。C/C++的一些变体允许二进制文件使用
0b
前缀(即
0b011010
),但它不是标准的。