在hexa中表示Z / 2Z上的多项式

时间:2014-10-02 18:44:39

标签: c hex representation polynomials

我正在研究Z / 2Z上的多项式,我们用十六进制的整数表示它: 例如,0xD4是X ^ 7 + x ^ 6 + X ^ 4 + X ^ 2(0xD4是二进制的11010100) 我只想实现一个打印多项式的函数,就像我用0xD4一样。 所以我可以将我的十六进制数转换成二进制,然后在第n位等于1时打印X ^ n但是我想知道是否有一种最简单的方法可以做到这一点,你的看法? (我用C语言工作)

提前感谢您的帮助:)

1 个答案:

答案 0 :(得分:2)

你不需要转换任何东西。只是测试

if (poly & (1 << k)) {...}

查看k次幂是否存在(即相应系数为1而不是0)。

将其包裹在循环中并完成。

(此处,poly是您示例中的0xD4。)