【问题标题】:int array regarding binary digits关于二进制数字的 int 数组
【发布时间】:2018-12-05 19:40:08
【问题描述】:

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

【问题讨论】:

标签: c++ arrays binary int digit


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 2020-08-29
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 2012-03-18
  • 2017-09-28
  • 1970-01-01
  • 2016-05-12
  • 1970-01-01
相关资源
最近更新 更多