我有三个单独的字符int x,y,z
,并希望构造具有八进制表示\xyz
的字符。我怎样才能做到这一点?
我认为我需要使用众多*printf
变种中的一种,但不幸的是我自己的尝试不起作用,我找不到任何其他问题就此而言。
答案 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;