我一直被教导0-9表示0到9的值,A,B,C,D,E,F表示10-15。
我看到这种格式为0x00000000,并且它不适合十六进制模式。是否有可以解释它的指南或导师?
我用Google搜索了十六进制,但我找不到任何解释。
所以我的第二个问题是,是否有0x00000000格式的名称?
答案 0 :(得分:16)
0x只是告诉你十六进制后的数字
所以0x00是0,0x10是16,0x11是17等
答案 1 :(得分:10)
0x
只是一个前缀(在C和许多其他编程语言中使用),表示以下数字位于16位。
用于十六进制的其他符号包括:
$ABCD
ABCDh
X'ABCD'
"ABCD"X
答案 2 :(得分:4)
是的,它是十六进制的。
否则,您无法代表A
。 C和Java的编译器将其视为变量标识符。添加的前缀0x
告诉编译器它是十六进制数,所以:
int ten_i = 10;
int ten_h = 0xA;
ten_i == ten_h; // this boolean expression is true
前导零表示大小:0x0080
提示数字将存储在两个字节中;并且0x00000080
代表四个字节。这种表示法通常用于标志:如果设置了某个位,则启用该功能。
P.S。作为一个偏离主题的注释:如果数字以0
开头,那么它被解释为八进制数,例如010 == 8
。此处0
也是前缀。
答案 3 :(得分:3)
x之后的所有内容都是十六进制数字(0x只是指定十六进制的前缀),表示32位(如果您将二进制的0xFFFFFFFF放入,则为1111 1111 1111 1111 1111 1111 1111 1111)。
答案 4 :(得分:1)
十六进制数字通常以0x开头,表示它们是十六进制数字。 在这种情况下,有8个数字,每个数字代表4位,因此它是32位或一个字。我猜你在错误中看到了这个,它是一个内存地址。这个值意味着null,因为十六进制值是0.