通过在bit_array上进行位运算从而实现加法 该函数输入两个8位的bit_array 返回一个8位的bit_array 提示: - 你可以使用get_bit_8ba idx从给定bit_array中取出第idx位 - 你可以使用set_bit_8ba idx bit将ba中第idx位配置为bit值 注意: bit_array中第i位是指从低到高第i有效位ba8_t ba8_a
ba8_t ba8_add(ba8_t a, ba8_t b) { ba8_t res = 0; int carry = 0; // 进位标志位 for (int i = 0; i < 8; i++) { int sum = get_bit_8(a, i) + get_bit_8(b, i) + carry; carry = sum > 1 ? 1 : 0; set_bit_8(res, i, sum % 2); } return res; }
原文地址: http://www.cveoy.top/t/topic/cNVI 著作权归作者所有。请勿转载和采集!