关于二进制数字的int数组

时间:2018-06-27 02:39:56

标签: c++ arrays binary int digit

我想知道为什么输出结果是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]);
}

1 个答案:

答案 0 :(得分:1)

100、010和001不是二进制文字。 100是十进制文字; 010和001是八进制(以8为底)的文字。如果您使用的是gcc,则可以使用前缀0b来扩展支持二进制文字的方式,如

code[0] = 0b100; // evaluates to 4