我试图在C中添加两个5位二进制数字。 这是一个二进制补码转换,我只需要添加一个到我的原始数字。 我看到有在网上提供了大量的代码,但我不能让它在我的实现发挥作用,我从这个执行得到“00010”,它应该是“00100” 这里是 int addBinary(int a[], int b[], int sum[]);
int main(){
int i=0;
int g =0;
我想用英特尔I64汇编器做一些长整数运算(128位),并且需要创建2的补码。假设我的正面价值是RDX:RAX。 2的补码是通过“翻转位和加1”完成的。所以最幼稚的做法是(4个指令和14个字节的代码): NOT RAX
NOT RDX
ADD RAX,1 ; Can't use INC, it doesn't set Carry
ADC RDX,0
当我使用RAX,