八进制表示的各个数字的字符代码

时间:2016-03-17 14:49:22

标签: c

我有三个单独的字符int x,y,z,并希望构造具有八进制表示\xyz的字符。我怎样才能做到这一点?

我认为我需要使用众多*printf变种中的一种,但不幸的是我自己的尝试不起作用,我找不到任何其他问题就此而言。

1 个答案:

答案 0 :(得分:2)

// 145 octal
int x = '1';
int y = '4';
int z = '5';

int octal = (x - '0') * 64 + (y - '0') * 8 + (z - '0');

如果您有数字的值,请不要减去'0'

// 145 octal
int x = 1;
int y = 4;
int z = 5;

int octal = x * 64 + y * 8 + z;