国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

UDP二進(jìn)制反碼運(yùn)算求校驗(yàn)和 二進(jìn)制反碼運(yùn)算是怎么計(jì)算的?

二進(jìn)制反碼運(yùn)算是怎么計(jì)算的?算法實(shí)現(xiàn):unsigned short IPuuucsum(unsigned char*iph,unsigned int ihl){unsigned int sumuuuu

二進(jìn)制反碼運(yùn)算是怎么計(jì)算的?

算法實(shí)現(xiàn):unsigned short IPuuucsum(unsigned char*iph,unsigned int ihl){unsigned int sumuuuuuuuasmuuuuuuuuuuuvolatileuuu1(“movl(%1),%0n”subl,%2n”jbe 2fn”addl 4(%1),%0n”adcl 8(%1),%0n”adcl 12(%1),%0n”1:adcl 16(%1),%0n“”lea 4(%1),%1n“”decl%2n“”jne 1bn“”adcl,%0n“”movl%0,%2n“”Shrl,%0n“”addw%W2,%w0n“”adcl,%0n“”Notl%0n“”2:n“:”=R”(總和),”=R”(IPH),”=R”(IHL):“1”(IPH),“2”(IHL):“memory”)return(sum)}擴(kuò)展數(shù)據(jù)二進(jìn)制逆碼求和的工作原理:0和0的和為0,但要產(chǎn)生進(jìn)位1,0和1的和為1,1和1的和為0。如果進(jìn)位是在最高位相加后產(chǎn)生的,則最終結(jié)果將被加1。(0)逆(0)逆=1,1=10(1)逆(0)逆=0,1=1(1)逆(1)逆=0,0=0

兩個(gè)數(shù)字用于計(jì)算二進(jìn)制逆代碼的和。它的規(guī)則是從低階到高階逐列計(jì)算。0和0的加法是0,但是要產(chǎn)生進(jìn)位1,0和1的加法是1,1和1的加法是0。如果進(jìn)位是在最高位相加之后生成的,則最終結(jié)果將增加1。例如:給定x=1101,y=0110,z=x-y由反碼計(jì)算。[10] Inverse=01101[-y]Inverse=11001,則[Z]Inverse=[x]Inverse[-y]Inverse=01101 11001 1(循環(huán)進(jìn)位)=00111,其真值為Z=0111

示例如下:真值x=-11111,如果字長(zhǎng)為8位,則:[x]original=10011111,最高位為符號(hào)位,1表示負(fù)數(shù)[x]Inverse=11100000,取原碼除符號(hào)位外的值,求逆碼[x]補(bǔ)碼=11100001,例如真值y=100011,8位字長(zhǎng),[y]原=[y]逆=[y]補(bǔ)碼=00010011,最高位(符號(hào)位)為0,表示正數(shù),右邊的兩個(gè)零用來完成8位字長(zhǎng)