C函数使用" mask和shift"从十进制转换为八进制技术

时间:2017-01-17 22:54:32

标签: c bit-manipulation bitmask

我正在为一个类编写C程序,我必须编写一个函数,我将十进制转换为八进制,但棘手的部分是我必须使用"掩码和移位"技术

这是我到目前为止所做的事情,但考虑到我的计算已经很遥远,我不太相信这是最好的路线:

int y = 8;
int decimal = 230;
char base4Answer[32];
int firstDigit;
int secondDigit;

if(y==8){

    const int mask1 = (7 << 3);
    const int mask2 = (7 << 0);
    firstDigit = (decimal & mask1);
    secondDigit = (decimal & mask2);
    printf("Octal Representation of Binary Number: %i%i\n", ascii[firstDigit], ascii[secondDigit]);

}

0 个答案:

没有答案