2016 - 2024

感恩一路有你

二进制求和运算 二进制反码运算求和?

浏览量:2038 时间:2021-03-13 07:10:10 作者:admin

二进制反码运算求和?

算法实现: unsigned short ip_fast_csum(unsigned char * iph, unsigned int ihl) { unsigned int sum __asm__ __volatile__( "movl (%1), %0 n" "subl , %2 n" "jbe 2f n" "addl 4(%1), %0 n" "adcl 8(%1), %0 n" "adcl 12(%1), %0 n" "1: adcl 16(%1), %0 n" "lea 4(%1), %1 n" "decl %2 n" "jne 1b n" "adcl , %0 n" "movl %0, %2 n" "shrl , %0 n" "addw %w2, %w0 n" "adcl , %0 n" "notl %0 n" "2: n" : "=r" (sum), "=r" (iph), "=r" (ihl) : "1" (iph), "2" (ihl) : "memory") return(sum) } 扩展资料二进制反码求和工作原理 :0和0相加是0,但要产生一个进位1,0和1相加是1,1和1相加是0.若最高位相加后产生进位,则最后得到的结果要加1。(0)反 (0)反 = 1 1 = 10(1)反 (0)反=0 1 =1(1)反 (1)反 = 0 0 = 0

二进制反码求和是怎样求的?

两个数进行二进制反码求和的运算,它的规则是从低位到高位逐列进行计算。0和0相加是0但要产生一个进位1,0和1相加是1,1和1相加是0。若最高位相加后产生进位,则最后得到的结果要加1。 举例:已知X = 1101 , Y = 0110 , 用反码计算Z = X-Y。 [X]反 = 01101 [-Y]反 = 11001 则[Z]反 =[X]反 [-Y]反 = 01101 11001 1(循环进位)= 00111 其真值为Z = 0111

二进制求和运算 反码运算规则 二进制反码求和算法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。