Math 是2';两个正数的补加法与普通加法相同吗?
如果我有两个正整数,比如0x1234和0x5678,是0x8765+0xfedc=0x8641,如果“+”表示两个补码相加,mod 2^16?这个问题非常模糊。也就是说: 在位级别上,两个补码相加相当于无符号整数的模加。唯一的区别在于如何解释输入和结果的位模式 这意味着,如果有两个正16位的两个补码,a和b,那么两个补码加(a,b)是:Math 是2';两个正数的补加法与普通加法相同吗?,math,Math,如果我有两个正整数,比如0x1234和0x5678,是0x8765+0xfedc=0x8641,如果“+”表示两个补码相加,mod 2^16?这个问题非常模糊。也就是说: 在位级别上,两个补码相加相当于无符号整数的模加。唯一的区别在于如何解释输入和结果的位模式 这意味着,如果有两个正16位的两个补码,a和b,那么两个补码加(a,b)是: a+b如果(a+b)
- a+b如果(a+b)<2^15
- a+b-2^16否则
- a+b如果(a+b)<2^15
- a+b-2^16否则
- 这个问题非常模糊。也就是说:
在位级别上,两个补码相加相当于无符号整数的模加。唯一的区别在于如何解释输入和结果的位模式
这意味着,如果有两个正16位的两个补码,a和b,那么两个补码加(a,b)是:
二的补码是为模2^w算法设计的:(+a)+(-b)表示为a+(2^w-b)=(a-b)+2^w,这在模2^w约化后给出了a-b的正确答案。类似地,(-a)+(-b)表示为(2^w-a)+(2^w-b)=(-a-b)+2*2^w,这将减少到预期的-a-b.什么?没有任何意义,我可以检测到。我不知道前两个数字是关于什么的,最后一个和是真的mod 2^20,而2的补码与之无关。什么?没有任何意义,我可以检测到。我不知道前两个数字是什么,最后一个和是真的mod 2^20,2的补码与之无关。好的,但是没有理由在RC5算法中看到任何负值,那么指令是什么意思?好的,但是没有理由在RC5算法中看到任何负值,那么说明是什么意思呢?