¼ÆËã»ú×é³ÉϰÌâ´ð°¸£¨Ç廪´óѧ³ö°æÉ磩 ÏÂÔØ±¾ÎÄ

19£®Ð´³ö16λÊý¾ÝµÄSECÂë¡£¼Ù¶¨Êý¾ÝΪ0101 0001 0100 0110£¬ËµÃ÷SECÂëÈçºÎÕýÈ·¼ì²âÊý¾Ýλ5µÄ

´íÎó¡£ ²Î¿¼´ð°¸£º

¶ÔÓÚ16λÊý¾Ý£¬¿ÉÒÔÈçϲåÈëУÑéλ£º M16M15M14M13M12P5M11M10M9M8M7M6M5P4M4M3M2P3M1P2P1

ÆäÖÐMiÊÇÔ­ÐÅÏ¢Êý¾Ý£¬ PiÊǼÓÈëµÄУÑé룬¶ÔÓÚ¸÷¸öУÑéλµÄÖµ¿ÉÒÔÈçϼÆËã

P1 = M1¨’M2¨’M3¨’M4¨’M5¨’M7¨’M9¨’M11¨’M12¨’M14¨’M16= 1 P2 = M1¨’M3¨’M4¨’M6¨’M7¨’M10¨’M11¨’M13¨’M14= 1 P3 = M2¨’M3¨’M4¨’M8¨’M9¨’M10¨’M11¨’M15¨’M16= 0 P4 = M5¨’M6¨’M7¨’M8¨’M9¨’M10¨’M11= 0 P5 = M12¨’M13¨’M14¨’M15¨’M16= 0 ËùÒÔ´ËʱP5 P4 P3 P2 P1 = 00011£¬µÚÎåλÊý¾Ý³ö´íʱ£¬Êý¾Ý×Ö±äΪ£º0101 0001 0101 0110£¬P5?P4?P3?P2?P1?= 01010£¬¹ÊÕÏ×Ö = 00011¨’01010 = 01001£¬ËµÃ÷Âë×ÖµÚ9λ³ö´í£¬¼´M5³ö´í¡£

20£®¼ÙÉèÒª´«Ë͵ÄÊý¾ÝÐÅϢΪ£º100011£¬ÈôÔ¼¶¨µÄÉú³É¶àÏîʽΪ£ºG(x)= x3+1£¬ÔòУÑéÂëΪ¶àÉÙ£¿¼Ù¶¨ÔÚ

½ÓÊն˽ÓÊÕµ½µÄÊý¾ÝÐÅϢΪ100010£¬ËµÃ÷ÈçºÎÕýÈ·¼ì²âÆä´íÎó£¬Ð´³ö¼ì²â¹ý³Ì¡£ ²Î¿¼´ð°¸£º

Ô­Êý¾ÝÐÅϢΪ100011£¬¶ÔÓ¦µÄ±¨ÎĶàÏîʽΪM(x) = x5 + x + 1, Éú³É¶àÏîʽµÄλÊýΪ4룬ËùÒÔÔÚÔ­Êý¾ÝÐÅÏ¢ºóÃæÌí¼Ó3¸ö0£¬±äΪM?(x) = x3M(x) = x8 + x4 + x3, ÓÃM(x)ȥģ2³ýG(x)£¬µÃµ½µÄÓàÊýΪ111£¬ËùÒԵõ½CRCÂëΪ100011 111¡£ ¼ì²âʱ£¬ÓýÓÊÕµ½µÄCRCÂëȥģ2³ýÉú³É¶àÏîʽ1001£¬ÈôµÃµ½µÄÓàÊýΪ0£¬Ôò±íÃ÷ÕýÈ·£¬·ñÔò˵Ã÷

´«Êäʱ·¢ÉúÁË´íÎó¡£´ËÌâÖнÓÊÕµ½µÄCRCÂëΪ100010 111£¨¼´Êý¾Ý100010¼Ó¼ìÑéλ111£©£¬ÏÔÈ»£¬ÓÃ100010 111 Ä£2³ý 1001£¬µÃµ½ÓàÊýΪ001£¬²»Îª0£¬ËµÃ÷´«Êäʱ·¢Éú´íÎó¡£

µÚ 3 Õ ϰ Ìâ ´ð °¸

2£¨4£©¸ß¼¶ÓïÑÔÖеÄÔËËãºÍ»úÆ÷ÓïÑÔ£¨¼´Ö¸ÁÖеÄÔËËãÊÇʲô¹ØÏµ£¿¼Ù¶¨Ä³Ò»¸ö¸ß¼¶ÓïÑÔÔ´³ÌÐòPÖÐÓгˡ¢³ýÔËË㣬µ«»úÆ÷MÖв»Ìṩ³Ë¡¢³ýÔËËãÖ¸ÁÔò³ÌÐòPÄÜ·ñÔÚ»úÆ÷MÉÏÔËÐУ¿ÎªÊ²Ã´£¿ ²Î¿¼´ð°¸£º£¨ÂÔ£©

3£®¿¼ÂÇÒÔÏÂCÓïÑÔ³ÌÐò´úÂ룺

int func1(unsigned word) { return (int) (( word <<24) >> 24); }

int func2(unsigned word) { return ( (int) word <<24 ) >> 24; }

¼ÙÉèÔÚÒ»¸ö32λ»úÆ÷ÉÏÖ´ÐÐÕâЩº¯Êý£¬¸Ã»úÆ÷ʹÓöþ½øÖƲ¹Âë±íʾ´ø·ûºÅÕûÊý¡£ÎÞ·ûºÅÊý²ÉÓÃÂß¼­ÒÆÎ»£¬´ø·ûºÅÕûÊý²ÉÓÃËãÊõÒÆÎ»¡£ÇëÌîдÏÂ±í£¬²¢ËµÃ÷º¯Êýfunc1ºÍfunc2µÄ¹¦ÄÜ¡£ W »úÆ÷Êý Öµ func1(w) »úÆ÷Êý Öµ func2(w) »úÆ÷Êý Öµ 0000 007FH 0000 0080H 0000 00FFH 0000 0100H 127 128 255 256 0000 007FH 0000 0080H 0000 00FFH 0000 0000H +127 +128 +255 0 0000 007FH FFFF FF80H FFFF FFFFH 0000 0000H +127 ¨C128 ¨C1 0 º¯Êýfunc1µÄ¹¦ÄÜÊǰÑÎÞ·ûºÅÊý¸ß24λÇåÁ㣨×óÒÆ24λÔÙÂß¼­ÓÒÒÆ24룩£¬½á¹ûÒ»¶¨ÊÇÕýµÄÓзûºÅÊý£»¶øº¯Êýfunc2µÄ¹¦ÄÜÊǰÑÎÞ·ûºÅÊýµÄ¸ß24λ¶¼±ä³ÉºÍµÚ25λһÑù£¬ÒòΪ×óÒÆ24λºó½øÐÐËãÊõÓÒÒÆ£¬¸ß24λ²¹·ûºÅ루¼´µÚ25룩¡£

4£®ÌîдÏÂ±í£¬×¢Òâ¶Ô±ÈÎÞ·ûºÅÊýºÍ´ø·ûºÅÕûÊýµÄ³Ë·¨½á¹û£¬ÒÔ¼°½Ø¶Ï²Ù×÷ǰ¡¢ºóµÄ½á¹û¡£ ģʽ ÎÞ·ûºÅÊý ¶þ½øÖƲ¹Âë ÎÞ·ûºÅÊý ¶þ½øÖƲ¹Âë ÎÞ·ûºÅÊý ¶þ½øÖƲ¹Âë x »úÆ÷Êý 110 110 001 001 111 111 Öµ 6 ¨C2 1 +1 7 ¨C1 »úÆ÷Êý 010 010 111 111 111 111 y Öµ 2 +2 7 ¨C1 7 ¨C1 x¡Áy£¨½Ø¶Ïǰ£© »úÆ÷Êý 001100 111100 000111 111111 110001 000001 Öµ 12 ¨C4 7 ¨C1 49 +1 x¡Áy£¨½Ø¶Ïºó£© »úÆ÷Êý 100 100 111 111 001 001 Öµ 4 ¨C4 7 ¨C1 1 +1

5£®ÒÔÏÂÊÇÁ½¶ÎCÓïÑÔ´úÂ룬º¯Êýarith( )ÊÇÖ±½ÓÓÃCÓïÑÔдµÄ£¬¶øoptarith( )ÊǶÔarith( )º¯ÊýÒÔij¸öÈ·

¶¨µÄMºÍN±àÒëÉú³ÉµÄ»úÆ÷´úÂë·´±àÒëÉú³ÉµÄ¡£¸ù¾Ýoptarith( )£¬¿ÉÒÔÍÆ¶Ïº¯Êýarith( ) ÖÐMºÍNµÄÖµ¸÷ÊǶàÉÙ£¿

#define M #define N int arith (int x, int y) {

int result = 0 ;

result = x*M + y/N; return result; }

int optarith ( int x, int y) {

int t = x; x << = 4; x - = t;

if ( y < 0 ) y += 3; y>>2;

return x+y;

²Î¿¼´ð°¸£º

¿ÉÒÔ¿´³öx*MºÍ¡°int t = x; x << = 4; x-=t;¡±Èý¾ä¶ÔÓ¦£¬ÕâЩÓï¾äʵÏÖÁËx³Ë15µÄ¹¦ÄÜ£¨×óÒÆ4λÏ൱ÓÚ³ËÒÔ16£¬È»ºóÔÙ¼õ1£©£¬Òò´Ë£¬MµÈÓÚ15£»

y/NÓë¡°if ( y < 0 ) y += 3; y>>2;¡±Á½¾ä¶ÔÓ¦£¬¹¦ÄÜÖ÷ÒªÓɵڶþ¾ä¡°yÓÒÒÆ2λ¡±ÊµÏÖ£¬ËüʵÏÖÁËy³ýÒÔ4µÄ¹¦ÄÜ£¬Òò´ËNÊÇ4¡£¶øµÚÒ»¾ä¡°if ( y < 0 ) y += 3;¡±Ö÷ÒªÓÃÓÚ¶Ôy=¨C1ʱ½øÐе÷Õû£¬Èô²»µ÷Õû£¬Ôò¨C1>>2=¨C1¶ø¨C1/4=0£¬Á½Õß²»µÈ£»µ÷Õûºó¨C1+3=2£¬2>>2=0£¬Á½ÕßÏàµÈ¡£

˼¿¼£ºÄÜ·ñ°Ñ

if ( y < 0 ) y += 3; ¸Ä³É if ( y < 0 ) y += 2; £¿

²»ÄÜ£¡ÒòΪy = - 4ʱ²»ÕýÈ·¡£

6£®ÉèA4?A1ºÍB4?B1·Ö±ðÊÇËÄλ¼Ó·¨Æ÷µÄÁ½×éÊäÈ룬C0ΪµÍλÀ´µÄ½øÎ»¡£µ±¼Ó·¨Æ÷·Ö±ð²ÉÓô®ÐнøÎ»ºÍÏÈÐнøÎ»Ê±£¬Ð´³öËĸö½øÎ»C4?C1µÄÂß¼­±í´ïʽ¡£ ²Î¿¼´ð°¸£º ´®ÐнøÎ»£º

C1 = X1C0+Y1C0 + X1 Y1 C2 = X2C1+Y2C1 + X2 Y2 C3 = X3C2+Y3C2 + X3 Y3 C4 = X4C3+Y4C3 + X4 Y4

²¢ÐнøÎ»£º

C1 =X1Y1 + (X1+Y1)C0

C2=X2Y2+(X2+Y2)X1Y1+ (X2+Y2)(X1+Y1)C0

C3=X3Y3+(X3+Y3)X2Y2+(X3+Y3) (X2+Y2)X1Y1+(X3+Y3) (X2+Y2)(X1+Y1)C0

C4=X4Y4+(X4+Y4)X3Y3+(X4+Y4)(X3+Y3)X2Y2+(X4+Y4)(X3+Y3)(X2+Y2)X1Y1+(X4+Y4)(X3+Y3) (X2+Y2)(X1+Y1)C0

7£®ÓÃSN74181ºÍSN74182Æ÷¼þÉè¼ÆÒ»¸ö16λÏÈÐнøÎ»²¹Âë¼Ó/¼õÔËËãÆ÷£¬»­³öÔËËãÆ÷µÄÂß¼­¿òͼ£¬²¢¸ø³öÁã±êÖ¾¡¢½øÎ»±êÖ¾¡¢Òç³ö±êÖ¾¡¢·ûºÅ±êÖ¾µÄÉú³Éµç·¡£ ²Î¿¼´ð°¸£¨Í¼ÂÔ£©£º

Âß¼­¿òͼ²Î¼û½Ì²ÄÖеÄͼ3.15ºÍͼ3.16£¬½«Á½¸öͼ½áºÏÆðÀ´¼´¿É£¬Ò²¼´Ö»Òª½«Í¼3.15ÖеÄBÊäÈë¶ËµÄÿһλBiÈ¡·´£¬µÃµ½Bi£¬ºÍÔ­ÂëBiÒ»ÆðË͵½Ò»¸ö¶þ·ѡÔñÆ÷£¬ÓɽøÎ»C0×÷ΪѡÔñ¿ØÖÆÐźš£µ±C0Ϊ1ʱ×ö¼õ·¨£¬´Ëʱ£¬Ñ¡Ôñ½«Bi×÷ΪSN74181µÄBÊäÈë¶Ë£»·ñÔò£¬µ±C0Ϊ1ʱ£¬×ö¼Ó·¨¡£

Áã±êÖ¾ZF¡¢½øÎ»±êÖ¾CF¡¢Òç³ö±êÖ¾OF¡¢·ûºÅ±êÖ¾SFµÄÂß¼­µç·¸ù¾ÝÒÔÏÂÂß¼­±í´ïʽ»­³ö¼´¿É¡£ ZF=F15+F14+F13+F12+F11+F10+F9+F8+F7+F6+F5+F4+F3+F2+F1+F0 CF=C16

OF= C0£¨A15B15F15 + A15B15F15£©+ C0£¨A15B15F15 + A15B15F15£© SF= F15

8£® ÓÃSN74181ºÍSN74182Æ÷¼þÉè¼ÆÒ»¸ö32λµÄALU£¬ÒªÇó²ÉÓÃÁ½¼¶ÏÈÐнøÎ»½á¹¹¡£

£¨1£© д³öËùÐèµÄSN74181ºÍSN74182оƬÊý¡£ £¨2£© »­³ö32λALUµÄÂß¼­½á¹¹Í¼¡£ ²Î¿¼´ð°¸£¨Í¼ÂÔ£©£º

½«Èçͼ3.15ËùʾµÄÁ½¸ö16λALU¼¶ÁªÆðÀ´¼´¿É£¬¼¶ÁªÊ±£¬µÍ16λALUµÄ¸ßλ½øÎ»C16×÷Ϊ¸ß16λALUµÄµÍλ½øÎ»C0£¬Òò´Ë£¬Ö»ÒªÓÃ8ƬSN74181ºÍ2ƬSN74182¡£

9£®ÒÑÖªx= 10£¬y= ¨C6£¬²ÉÓÃ6λ»úÆ÷Êý±íʾ¡£Çë°´ÈçÏÂÒªÇó¼ÆË㣬²¢°Ñ½á¹û»¹Ô­³ÉÕæÖµ¡£

£¨1£© Çó[x+y]²¹£¬[x¨Cy]²¹¡£ £¨2£© ÓÃÔ­Âëһλ³Ë·¨¼ÆËã[x¡Áy]Ô­¡£ £¨3£© ÓÃMBA£¨»ù4²¼Ë¹£©³Ë·¨¼ÆËã[x¡Áy]²¹¡£ £¨4£© Óò»»Ö¸´ÓàÊý·¨¼ÆËã[x/y]Ô­µÄÉ̺ÍÓàÊý¡£ £¨5£© Óò»»Ö¸´ÓàÊý·¨¼ÆËã[x/y]²¹µÄÉ̺ÍÓàÊý¡£

²Î¿¼´ð°¸£º

[10]²¹= 001010 [¨C6]²¹= 111010 [6]²¹= 000110 [10]Ô­= 001010 [¨C6]Ô­= 100110 £¨1£© [10+(¨C6)]²¹= [10]²¹+[¨C 6]²¹= 001010+111010 = 000100 (+4)

[10¨C(¨C6)]²¹= [10]²¹+[¨C (¨C6)]²¹= 001010+000110 = 010000 (+16) £¨2£©ÏȲÉÓÃÎÞ·ûºÅÊý³Ë·¨¼ÆËã001010¡Á 000110µÄ³Ë»ý£¬Ô­Âëһλ³Ë·¨¹ý³Ì£¨Ç°ÃæÁ½¸ö0Ê¡ÂÔ£©ÈçÏ£º

C P Y ˵Ã÷ 0 0000 0 1 1 0 P0=0

+ 0 0 0 0 y4= 0£¬+0

0 0 0 0 0 C,P ºÍYͬʱÓÒÒÆÒ»Î» 0 0 0 0 0 00 1 1 µÃP1

+ 1 0 1 0 y3=1£¬+X

01 0 1 0 C,P ºÍYͬʱÓÒÒÆÒ»Î» 0 0 1 0 1 0 00 1µÃP2 + 1 0 1 0y2= 1£¬+X

0 1 1 1 1 0 00 0 C,P ºÍYͬʱÓÒÒÆÒ»Î» 0 01 1 11 0 00µÃP3

+ 0 0 0 0y1= 0£¬+0

0 0 1 1 1 C,P ºÍYͬʱÓÒÒÆÒ»Î» 0 0 0 1 111 0 0µÃP4

ÈôÁ½¸ö6λÊýÏà³ËµÄ»°£¬Ôò»¹ÒªÓÒÒÆÁ½´Î£¬µÃ 000000 111100

·ûºÅλΪ£º0?1 = 1£¬Òò´Ë£¬[X¡ÁY]Ô­= 1000 0011 1100 ¼´X ¡Á Y = ¨C11 1100B = ¨C60

£¨3£© [¨C10]²¹= 110110£¬²¼Ë¹³Ë·¨¹ý³ÌÈçÏ£º

P Y y-1˵Ã÷

0 0 0000 1 110 1 00 Éèy-1 =0£¬[P0]²¹=0

y0 y-1 =00£¬P¡¢YÖ±½ÓÓÒÒÆÒ»Î»

0 0 0000 0 1 11 0 1 0 µÃ[P1]²¹ + 1 1 0 110y1 y0 =10£¬+[¨CX]²¹ 1 1 0 110 P¡¢YͬʱÓÒÒÆÒ»Î»

1 1 1 011 00 1 1 1 0 1 µÃ[P2]²¹ + 0 0 1 010y2 y1 =01£¬+[X]²¹

0 0 0 1 01 P¡¢YͬʱÓÒÒÆÒ»Î»

0 0 0 0 1 01 0 0 1 1 1 0µÃ[P3]²¹

+1101 1 0 1 0 0 1 1 1 0y3 y2 =10£¬+[¨CX]²¹ 11 1 0 0 0P¡¢YͬʱÓÒÒÆÒ»Î» 111 1 0 0 0 1 0 01 1 1µÃ[P4]²¹

+ 0 0 0 00 00 1 0 0 1 11y4 y3 =11£¬+0 111 1 0 0P¡¢YͬʱÓÒÒÆÒ»Î» 111 1 1 0 0 0 1 00 1 1µÃ[P5]²¹

+ 0 0 0 00 00 0 10 0 1 1y5 y4 =11£¬+0 111 1 1 0P¡¢YͬʱÓÒÒÆÒ»Î» 111 1 1 1 0 0 0 10 0 1µÃ[P6]²¹

Òò´Ë£¬[X ¡Á Y]²¹=1111 1100 0100£¬¼´X ¡Á Y = ¨C11 1100B= ¨C60

£¨4£©ÒòΪ³ý·¨¼ÆËãÊÇ2nλÊý³ýnλÊý£¬ËùÒÔ[6]Ô­=0110£¬[10]Ô­=0000 1010£¬[¨C6]²¹=1010£¬

É̵ķûºÅλ£º0?1=1£¬ÔËËã¹ý³Ì£¨Ç°ÃæÁ½¸ö0Ê¡ÂÔ£©ÈçÏ£º ÓàÊý¼Ä´æÆ÷RÓàÊý/É̼ĴæÆ÷Q˵Ã÷