C语言中 -0x11是什么意思

RT

0x11是十六进制的11的意思。11前面的0是忽略的。十六进制的一位就是二进制的四位。

在C语言中,十六进制的数字常常以 0x 或者 0X 前缀开头,C语言中的八进制是以前缀“0”开头的,例如04524 就表示一个八进制数字,它等于十进制的 2388。

在上世纪 60 年代,流行的编程数字系统是十进制和八进制,那个时候的机器中每字节的位数是不确定的,有的机器中每字节有 12 位,还有 24 位,36 位的,可以很好地被 3=log2(8)整除

十六进制的前缀 0x 或者 0X 中的 0 是用于告诉编译器这是一个数字,这有一点点历史渊源在里面,也有一些好处。而 x 则可以认为是任意选择的符号。

扩展资料

使用 0 前缀表示八进制数字的好处

1、对于编译器来说,整型常量总是可以由单个标记(token)组成。

2、编译器仍然可以准确的识别出这是一个数字。

3、编译器可以立即识别这是八进制数字。

4、00005 和 05 是相等的。

5、不需要使用特殊字符(例如1234表示)。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04
1、0x是指十六进制数, -0x11 转换为十进制就是 -17。
2、0x11 二进制值为 0000 0000 0001 0001
-0x11 是取反+1值为 1111 1111 1110 1111
-0x11 = F F E F
第2个回答  2011-04-03
0x是指十六进制数 -0x11 转换为十进制就是 -17
第3个回答  2011-04-03
一个副的十六进制数
-17
第4个回答  2011-04-03
16进制的“-11”
相似回答