我想知道为什么输出结果是100、8、1。 010甚至没有意义,不是二进制数2。我想念什么吗?
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int code[3];
code[0] = 100;
code[1] = 010;
code[2] = 001;
printf("%d\n", code[0]);
printf("%d\n", code[1]);
printf("%d\n", code[2]);
}
答案 0 :(得分:1)
100、010和001不是二进制文字。 100是十进制文字; 010和001是八进制(以8为底)的文字。如果您使用的是gcc,则可以使用前缀0b
来扩展支持二进制文字的方式,如
code[0] = 0b100; // evaluates to 4