5

難読化されたコードから着想を得て、整数に値を代入することに関して小さな質問があります。

#include <iostream>
#include <cstdio>

int main() {
    int i = 0101;
    std::cout << i << "\n";
}

出力は 65 でしたが、65 がどこから来たのかわかりません。何か案が?

4

2 に答える 2

12

8 進数 (基数 8) を指定します: 0101 == 1 * (8 * 8) + 1 == 65.

于 2011-01-18T06:01:41.747 に答える
0

ランバートはすでにそれを説明しました。では、他にできることを教えてください。

16 進数の整数を書くことができます。

int main() {
    int i = 0x101; //0x specifies this (i.e 101) is hexadecimal integer
    std::cout << i << "\n"; //prints 257 (1 * 16 * 16 + 1)
}

出力:

257
于 2011-01-18T06:10:26.110 に答える