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

³ÌÐòÖеĹØϵ±í´ïʽ£¬Çë²ÎÕÕÒÑÓеıíÀ¸ÄÚÈÝÍê³É±íÖкóÈýÀ¸ÄÚÈݵÄÌîд¡£

¹Øϵ±í´ïʽ 0 == 0U ¨C1 < 0 ¨C1 < 0U 2147483647 > ¨C2147483647 ¨C 1 2147483647U > ¨C2147483647 ¨C 1 2147483647 > (int) 2147483648U ¨C1 > ¨C2 (unsigned) ¨C1 > ¨C2 ÔËËãÀàÐÍ ÎÞ·ûºÅÕûÊý ÓзûºÅÕûÊý ÎÞ·ûºÅÕûÊý ÓзûºÅÕûÊý ÎÞ·ûºÅÕûÊý ÓзûºÅÕûÊý ÓзûºÅÕûÊý ÎÞ·ûºÅÕûÊý ½á¹û 1 1 0 1 0 1 1 1 00¡­0B = 00¡­0B 11¡­1B (¨C1) < 00¡­0B (0) 11¡­1B (232¨C1) > 00¡­0B(0) 011¡­1B (231¨C1) > 100¡­0B (¨C231) 011¡­1B (231¨C1) < 100¡­0B(231) 011¡­1B (231¨C1) > 100¡­0B (¨C231) 11¡­1B (¨C1) > 11¡­10B (¨C2) 11¡­1B (232¨C1) > 11¡­10B (232¨C2) ˵Ã÷

9£®ÒÔÏÂÊÇÒ»¸öCÓïÑÔ³ÌÐò£¬ÓÃÀ´¼ÆËãÒ»¸öÊý×éaÖÐÿ¸öÔªËصĺ͡£µ±²ÎÊýlenΪ0ʱ£¬·µ»ØÖµÓ¦¸ÃÊÇ0£¬

µ«ÊÇÔÚ»úÆ÷ÉÏÖ´ÐÐʱ£¬È´·¢ÉúÁË´æ´¢Æ÷·ÃÎÊÒì³£¡£ÇëÎÊÕâÊÇʲôԭÒòÔì³ÉµÄ£¬²¢ËµÃ÷³ÌÐòÓ¦¸ÃÈçºÎÐ޸ġ£ 1 float sum_elements(float a[], unsigned len) 2 { 3 int i; 4 float result = 0; 5 6 for (i = 0; i <= len¨C1; i++) 7 result += a[i]; 8 return result; 9 }

²Î¿¼´ð°¸£º

²ÎÊýlenµÄÀàÐÍÊÇunsigned£¬ËùÒÔ£¬µ±len=0ʱ£¬Ö´ÐÐlen-1µÄ½á¹ûΪ11¡­1£¬ÊÇ×î´ó¿É±íʾµÄÎÞ·ûºÅÊý£¬Òò¶ø£¬ÈκÎÎÞ·ûºÅÊý¶¼±ÈËüС£¬Ê¹µÃÑ­»·Ìå±»²»¶ÏÖ´ÐУ¬ÒýÆðÊý×éÔªËصķÃÎÊÔ½½ç£¬·¢Éú´æ´¢Æ÷·ÃÎÊÒì³£¡£ Ö»Òª½«lenÉùÃ÷ΪintÐÍ£¬»òÑ­»·µÄ²âÊÔÌõ¼þ¸ÄΪi

10. Éèij¸¡µãÊý¸ñʽΪ£º

Êý·û βÊý ½×Âë

6λ²¹Âë 5λÒÆÂë 1λ

ÆäÖУ¬ÒÆÂëµÄÆ«Öó£ÊýΪ16£¬²¹Âë²ÉÓÃһλ·ûºÅ룬»ùÊýΪ4¡£ £¨1£© ÓÃÕâÖÖ¸ñʽ±íʾÏÂÁÐÊ®½øÖÆÊý£º+1.7£¬¨C0.12£¬+19£¬¨C1/8¡£

£¨2£© д³ö¸Ã¸ñʽ¸¡µãÊýµÄ±íʾ·¶Î§£¬²¢Óë12붨µã²¹ÂëÕûÊý±íʾ·¶Î§±È½Ï¡£ ²Î¿¼´ð°¸£º£¨¼Ù¶¨²ÉÓÃ0Éá1Èë·¨½øÐÐÉáÈ룩 £¨1£© +1.7 = +1.1011001B = 0.011011B¡Á 41, ¹Ê½×ÂëΪ1 +16 = 17 = 10001B, βÊýΪ+0.011011µÄ²¹Â룬

¼´0.011011£¬ËùÒÔ+1.7±íʾΪ0 10001 011011¡£ ¨C0.12 = ¨C 0.000111101B = ¨C 0.011111B ¡Á 4¨C1, ¹Ê½×ÂëΪ¨C1 + 16 =15 = 01111B, βÊýΪ¨C 0.011111

µÄ²¹Â룬¼´1.100001, ËùÒÔ¨C0.12±íʾΪ1 01111 100001¡£ +19 = +10011B = 0.010011B¡Á 43£¬¹Ê½×ÂëΪ3 + 16 = 19 = 10011B, βÊýΪ0.010011£¬ËùÒÔ+19±í

ʾΪ0 10011 010011¡£

¨C1/8 = ¨C 0.125 = ¨C 0.001B = ¨C 0.100000 ¡Á 4¨C1£¬½×ÂëΪ¨C1 + 16 = 15 = 01111B£¬Î²ÊýΪ¨C 0.100000µÄ²¹Â룬¼´1.100000£¬ËùÒÔ¨C1/8±íʾΪ1 01111 100000¡£

£¨2£©¸Ã¸ñʽ¸¡µãÊý±íʾµÄ·¶Î§ÈçÏ¡£ ÕýÊý×î´óÖµ£º0.111111B ¡Á 411111£¬¼´£º0.333¡Á 415 £¨¡Ö230¡Ö109£© ÕýÊý×îСֵ£º0.000001B ¡Á 400000£¬¼´£º0.001¡Á 4¨C16 £¨¡Ö2¨C34¡Ö10¨C10£© ¸ºÊý×î´óÖµ£º¨C0.000001B ¡Á 400000£¬¼´£º¨C0.001¡Á 4¨C16 ¸ºÊý×îСֵ£º¨C1.000000B ¡Á 411111£¬¼´£º¨C1.000¡Á 415 Òò´Ë£¬¸Ã¸ñʽ¸¡µãÊýµÄÊýÁ¿¼¶ÔÚ10¨C10¡«109Ö®¼ä¡£

12붨µã²¹ÂëÕûÊýµÄ±íʾ·¶Î§Îª£º¨C211¡«+(211¨C1)£¬¼´£º¨C2048¡«2047 Óɴ˿ɼû£¬¶¨µãÊýºÍ¸¡µãÊýµÄ±íʾ·¶Î§Ïà²î·Ç³£´ó¡£

11. ÏÂÁм¸ÖÖÇé¿öËùÄܱíʾµÄÊýµÄ·¶Î§ÊÇʲô£¿

£¨1£© 16λÎÞ·ûºÅÕûÊý £¨2£© 16λԭÂ붨µãСÊý £¨3£© 16λ²¹Â붨µãСÊý £¨4£© 16λ²¹Â붨µãÕûÊý

£¨5£© ÏÂÊö¸ñʽµÄ¸¡µãÊý£¨»ùÊýΪ2£¬ÒÆÂëµÄÆ«Öó£ÊýΪ128£©

Êý·û βÊý ½×Âë

1λ 8λÒÆÂë 7λԭÂë

²Î¿¼´ð°¸£º

£¨1£©ÎÞ·ûºÅÕûÊý£º0¡«216¨C1¡£

£¨2£©Ô­Â붨µãСÊý£º¨C(1¨C2¨C15)¡« +(1¨C2¨C15)¡£ £¨3£©²¹Â붨µãСÊý£º¨C1¡«+(1¨C2¨C15)¡£ £¨4£©²¹Â붨µãÕûÊý£º¨C32768¡«+32767¡£ £¨5£©¸¡µãÊý£º¸ºÊý£º¨C(1¨C2¨C7)¡Á2+127¡«¨C2¨C7¡Á2¨C128¡£

ÕýÊý£º+2¨C135¡«(1¨C2¨C7) ¡Á2+127¡£

12. ÒÔIEEE754µ¥¾«¶È¸¡µãÊý¸ñʽ±íʾÏÂÁÐÊ®½øÖÆÊý¡£

+1.75£¬+19£¬¨C1/8£¬258 ²Î¿¼´ð°¸£º +1.75 = +1.11B = 1.11B ¡Á 20, ¹Ê½×ÂëΪ0+127=01111111B, Êý·ûΪ0£¬Î²ÊýΪ1.110¡­0£¬Ð¡ÊýµãǰΪÒþ²Ø룬ËùÒÔ+1.7±íʾΪ0 01111111 110 0000 0000 0000 0000 0000£¬ÓÃÊ®Áù½øÖƱíʾΪ3FE00000H¡£ +19 = +10011B = +1.0011B ¡Á 24£¬¹Ê½×ÂëΪ4+127 = 10000011B, Êý·ûΪ0£¬Î²ÊýΪ1.00110¡­0£¬ËùÒÔ+19±íʾΪ0 10000011 001 1000 0000 0000 0000 0000£¬ÓÃÊ®Áù½øÖƱíʾΪ41980000H¡£ ¨C1/8 = ¨C 0.125 = ¨C 0.001B = ¨C 1.0 ¡Á 2¨C3£¬½×ÂëΪ¨C3+127 = 01111100B£¬Êý·ûΪ1£¬Î²ÊýΪ1.0¡­0£¬ËùÒÔ¨C1/8±íʾΪ1 01111100 000 0000 0000 0000 0000 0000£¬ÓÃÊ®Áù½øÖƱíʾΪBE000000H¡£

258=100000010B=1.0000001B ¡Á 28, ¹Ê½×ÂëΪ8+127=10000111B, Êý·ûΪ0£¬Î²ÊýΪ1.0000001£¬ËùÒÔ258±íʾΪ0 10000111 000 0001 0000 0000 0000 0000£¬ÓÃÊ®Áù½øÖƱíʾΪ43810000H¡£

13£®ÉèÒ»¸ö±äÁ¿µÄֵΪ4098£¬ÒªÇó·Ö±ðÓÃ32λ²¹ÂëÕûÊýºÍIEEE 754µ¥¾«¶È¸¡µã¸ñʽ±íʾ¸Ã±äÁ¿£¨½á¹û

ÓÃÊ®Áù½øÖƱíʾ£©£¬²¢ËµÃ÷ÄĶζþ½øÖÆÐòÁÐÔÚÁ½ÖÖ±íʾÖÐÍêÈ«Ïàͬ£¬ÎªÊ²Ã´»áÏàͬ£¿ ²Î¿¼´ð°¸£º

4098 = +1 0000 0000 0010B = +1. 0000 0000 001 ¡Á 212

32λ2-²¹ÂëÐÎʽΪ£º0000 0000 0000 0000 00010000 0000 0010£¨00001002H£© IEEE754µ¥¾«¶È¸ñʽΪ£º0 100010110000 0000 0010 0000 0000 000 £¨45801000H£© ´ÖÌ岿·ÖΪ³ýÒþ²ØλÍâµÄÓÐЧÊý×Ö£¬Òò´Ë£¬ÔÚÁ½ÖÖ±íʾÖÐÊÇÏàͬµÄÐòÁС£

14£®ÉèÒ»¸ö±äÁ¿µÄֵΪ¨C2147483647£¬ÒªÇó·Ö±ðÓÃ32λ²¹ÂëÕûÊýºÍIEEE754µ¥¾«¶È¸¡µã¸ñʽ±íʾ¸Ã±äÁ¿£¨½á¹ûÓÃÊ®Áù½øÖƱíʾ£©£¬²¢ËµÃ÷ÄÄÖÖ±íʾÆäÖµÍêÈ«¾«È·£¬ÄÄÖÖ±íʾµÄÊǽüËÆÖµ¡£ ²Î¿¼´ð°¸£º

¨C2147483647 = ¨C111 1111 1111 1111 1111 1111 1111 1111B

= ¨C1.11 1111 1111 1111 1111 1111 1111 1111 ¡Á 230

32λ2-²¹ÂëÐÎʽΪ£º1000 0000 0000 0000 0000 0000 0000 0001 £¨80000001H£© IEEE 754µ¥¾«¶È¸ñʽΪ£º1 10011101 1111 1111 1111 1111 1111 111 £¨CEFFFFFFH£© 32λ2-²¹ÂëÐÎʽÄܱíʾ¾«È·µÄÖµ£¬¶ø¸¡µãÊý±íʾµÄÊǽüËÆÖµ£¬µÍλ±»½Ø¶Ï

15£®Ï±í¸ø³öÁËÓйØIEEE 754¸¡µã¸ñʽ±íʾÖÐһЩÖØÒªÊý¾ÝµÄÈ¡Öµ£¬±íÖÐÒѾ­ÓÐ×î´ó¹æ¸ñ»¯ÊýµÄÏàÓ¦ÄÚ

ÈÝ£¬ÒªÇóÌîÈëÆäËû¸¡µãÊýµÄÏàÓ¦ÄÚÈÝ¡££¨×¢£º±íÖÐa´ú±íÒ»¸öÔÚ1µ½10Ö®¼äµÄÕý´¿Ð¡Êý£© µ¥¾«¶È ÏîÄ¿ ½×Âë βÊý ÒÔ2µÄÃݴαíʾµÄÖµ 0 1 ×î´ó¹æ¸ñ»¯Êý ×îС¹æ¸ñ»¯Êý ×î´ó·Ç¹æ¸ñ»¯Êý ×îС·Ç¹æ¸ñ»¯Êý +¡Þ NaN

Ë«¾«¶È ÒÔ2µÄÃݴαíʾµÄÖµ 0 1 (2¨C2¨C52)¡Á21023 1.0¡Á2¨C1022 (1¨C2¨C52)¡Á2¨C1022 2¨C52¡Á2¨C1022 ¨C ¨C ÒÔ10µÄÃݴαíʾµÄÖµ 0 1 a¡Á10308 a¡Á10¨C308 a¡Á10¨C308 a¡Á10¨C? ¨C ¨C ÒÔ10µÄÃݴαíʾµÄÖµ 0 1 a¡Á1038 a¡Á10¨C38 a¡Á10¨C38 a¡Á10¨C44 ¨C ¨C 00000000 01111111 11111110 00000001 00000000 00000000 11111111 11111111 0?.00 0?.00 1?11 0?.00 1?11 0?01 0?.00 ·ÇÈ«0 0 1 (2¨C2¨C23)¡Á2127 1.0¡Á2¨C126 (1¨C2¨C23)¡Á2¨C126 2¨C23¡Á2¨C126=2¨C149 ¨C ¨C

16£®ÒÑÖªÏÂÁÐ×Ö·û±àÂ룺A=100 0001£¬a=110 0001£¬0=011 0000£¬ÇóE¡¢e¡¢f¡¢7¡¢G¡¢Z¡¢5µÄ7λACSIIÂëºÍµÚһλǰ¼ÓÈëÆæУÑéλºóµÄ8λ±àÂë¡£ ²Î¿¼´ð°¸£º EµÄASCIIÂëΪ?A? + (?E?¨C?A?) = 100 0001 + 100 = 100 0101, ÆæУÑéλP = 0£¬µÚһλǰ¼ÓÈëÆæУÑéλ

ºóµÄ8λ±àÂëÊÇ0 100 0101¡£ eµÄASCIIÂëΪ¡®a¡¯+ (?e?¨C?a?) = 110 0001 + 100 = 110 0101£¬ÆæУÑéλP = 1, µÚһλǰ¼ÓÈëÆæУÑéλ

ºóµÄ8λ±àÂëÊÇ1 110 0101¡£ fµÄASCIIÂëΪ¡®a¡¯+ (?f?¨C?a?) = 110 0001 + 101 = 110 0110, ÆæУÑéλP = 1, µÚһλǰ ¼ÓÈëÆæУÑé

λºóµÄ8λ±àÂëÊÇ 1 110 0110¡£ 7µÄASCIIÂëΪ¡®0¡¯+ (7 - 0) = 011 0000 + 111 = 011 0111,ÆæУÑéλP = 0, µÚһλǰ¼ÓÈëÆæУÑéλºó

µÄ8λ±àÂëÊÇ0 011 0111¡£

GµÄASCIIÂëΪ¡®A¡¯+ (?G?¨C?A?) = 100 0001 + 0110 = 100 0111, ÆæУÑéλP = 1, µÚһλǰ¼ÓÈëÆæУÑéλºóµÄ8λ±àÂëÊÇ1 100 0111¡£

ZµÄASCIIÂëΪ¡®A¡¯+(?Z?¨C?A?) = 100 0001 + 11001 = 101 1010, ÆæУÑéλP = 1, µÚһλǰ¼ÓÈëÆæУÑéλºóµÄ8λ±àÂëÊÇ 1 101 1010¡£

5µÄASCIIÂëΪ¡®0¡¯+(5 ¨C 0) = 011 0000 + 101 = 011 0101£¬ÆæУÑéλP = 1, µÚһλǰ¼ÓÈëÆæУÑéλºóµÄ8λ±àÂëÊÇ 1 011 0101¡£

17£®¼Ù¶¨ÔÚÒ»¸ö³ÌÐòÖж¨ÒåÁ˱äÁ¿x¡¢yºÍi£¬ÆäÖУ¬xºÍyÊÇfloatÐͱäÁ¿£¨ÓÃIEEE754µ¥¾«¶È¸¡µãÊý±í

ʾ£©£¬iÊÇ16λshortÐͱäÁ¿£¨Óò¹Âë±íʾ£©¡£³ÌÐòÖ´Ðе½Ä³Ò»Ê±¿Ì£¬x= ¨C0.125¡¢y=7.5¡¢i=100£¬ËüÃǶ¼±»Ð´µ½ÁËÖ÷´æ£¨°´×Ö½Ú±àÖ·£©£¬ÆäµØÖ··Ö±ðÊÇ100£¬108ºÍ112¡£Çë·Ö±ð»­³öÔÚ´ó¶Ë»úÆ÷ºÍС¶Ë»úÆ÷ÉϱäÁ¿x¡¢yºÍiÔÚÄÚ´æµÄ´æ·ÅλÖᣠ²Î¿¼´ð°¸£º

¨C0.125 = ¨C0.001B = ¨C1.0 ¡Á2-3

xÔÚ»úÆ÷ÄÚ²¿µÄ»úÆ÷ÊýΪ£º1 01111100 00¡­0 (BE00 0000H) 7.5= +111.1B= +1.111¡Á22

yÔÚ»úÆ÷ÄÚ²¿µÄ»úÆ÷ÊýΪ£º0 10000001 11100¡­0 (40F0 0000H) 100=64+32+4=1100100B

iÔÚ»úÆ÷ÄÚ²¿±íʾµÄ»úÆ÷ÊýΪ£º0000 0000 0110 0100£¨0064H£©

´ó¶Ë»ú С¶Ë»ú

µØÖ· ÄÚÈÝ ÄÚÈÝ 100 BEH 00H

101 00H 00H 102 00H 00H 103 00H BEH 108 40H 00H 109 F0H 00H 110 00H F0H 111 00H 40H 112 00H 64H 113 64H 00H 18£®¼Ù¶¨Ä³¼ÆËã»úµÄ×ÜÏß²ÉÓÃÆæУÑ飬ÿ8λÊý¾ÝÓÐһλУÑé룬ÈôÔÚ32λÊý¾ÝÏßÉÏ´«ÊäµÄÐÅÏ¢ÊÇ8F 3C

AB 96H£¬Ôò¶ÔÓ¦µÄ4¸öУÑéλӦΪʲô£¿Èô½ÓÊÜ·½ÊÕµ½µÄÊý¾ÝÐÅÏ¢ºÍУÑéλ·Ö±ðΪ87 3C AB 96HºÍ0101B£¬Ôò˵Ã÷·¢ÉúÁËʲôÇé¿ö£¬²¢¸ø³öÑéÖ¤¹ý³Ì¡£ ²Î¿¼´ð°¸£º

´«ÊäÐÅÏ¢8F 3C AB 96HÕ¹¿ªÎª1000 1111 0011 1100 1010 1011 1001 0110£¬Ã¿8λÓÐÒ»¸öÆæУÑé룬Òò´Ë£¬

×ÜÏßÉÏ·¢ËÍ·½ËͳöµÄ4¸öУÑéλӦ¸Ã·Ö±ðΪ0¡¢1¡¢0¡¢1¡£

½ÓÊÜ·½µÄÊý¾ÝÐÅϢΪ87 3C AB 96H£¬Õ¹¿ªºóΪ1000 0111 0011 1100 1010 1011 1001 0110£»½ÓÊÕµ½µÄУÑé

λ·Ö±ðΪ0¡¢1¡¢0¡¢1¡£ÔÚ½ÓÊÜ·½½øÐÐУÑéÅжÏÈçÏ£º

¸ù¾Ý½ÓÊÕµ½µÄÊý¾ÝÐÅÏ¢¼ÆËã³ö4¸öÆæУÑéλ·Ö±ðΪ1¡¢1¡¢0¡¢1£¬½«¸Ã4λУÑéλ·Ö±ðºÍ½ÓÊÕµ½µÄ4λУ

Ñéλ½øÐÐÒì»ò£¬µÃµ½1¡¢0¡¢0¡¢0£¬ËµÃ÷Êý¾ÝÐÅÏ¢µÄµÚÒ»¸ö×Ö½Ú·¢Éú´«Êä´íÎ󡣶ÔÕÕ´«ÊäÇ°¡¢ºóµÄÊý¾ÝÐÅÏ¢£¬µÚÒ»×Ö½Ú8FH±ä³ÉÁË87H£¬ËµÃ÷ȷʵ·¢ÉúÁË´«Êä´íÎó£¬ÑéÖ¤ÕýÈ·¡£