C 数据类型存储
下面的代码打印255,但是如果我将0255指定给x,就像在第二行中一样,代码打印173 有什么解释吗C 数据类型存储,c,types,C,Types,下面的代码打印255,但是如果我将0255指定给x,就像在第二行中一样,代码打印173 有什么解释吗 void main() { unsigned long x = 255; /* unsigned long x = 0255;*/ unsigned char *ptr = &x; printf("%u",*ptr); getch(); } 当一个数字前面有一个“0”时,它被视为一个八进制数。八进制中的255是十进制中的173。当一个数字在其他数
void main()
{
unsigned long x = 255;
/* unsigned long x = 0255;*/
unsigned char *ptr = &x;
printf("%u",*ptr);
getch();
}
当一个数字前面有一个“0”时,它被视为一个八进制数。八进制中的255是十进制中的173。当一个数字在其他数字前面有一个“0”时,它被视为八进制数。八进制的255是十进制的173
unsigned char x = 0255;
0255被认为是一个八进制整型文字。这是因为您可以将int文本分配给字符,而八进制0255在十进制表示法中是5*8^0+5*8^1+2*8^2=173
有关不同形式的符号字符串文字的更多信息,请访问,但请快速参考:
unsigned char x = 0255; // Octal -> 173 in decimal
unsigned char x = 255; // Decimal -> 255 in decimal
unsigned char x = 0x2F // Hexadecimal -> 47 in decimal
0255被认为是一个八进制整型文字。这是因为您可以将int文本分配给字符,而八进制0255在十进制表示法中是5*8^0+5*8^1+2*8^2=173
有关不同形式的符号字符串文字的更多信息,请访问,但请快速参考:
unsigned char x = 0255; // Octal -> 173 in decimal
unsigned char x = 255; // Decimal -> 255 in decimal
unsigned char x = 0x2F // Hexadecimal -> 47 in decimal