⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http:^^www.cs.wisc.edu^~cs354-2^cs354^lec.notes^numbers.html

📁 This data set contains WWW-pages collected from computer science departments of various universities
💻 HTML
字号:
Date: Tue, 05 Nov 1996 20:51:00 GMTServer: NCSA/1.5Content-type: text/htmlLast-modified: Wed, 30 Aug 1995 21:21:35 GMTContent-length: 8799<html><head><title> Lecture notes - Chapter 3 - Number Systems</title></head><BODY><h1> Chapter 3 -- Number Systems</h1><pre>about number systems.---------------------here's the decimal number system as an example:     digits (or symbols) allowed: 0-9     base (or radix):  10     the order of the digits is significant     345 is really	  3 x 1000   + 4 x 100    + 5 x 1	  3 x 10**2  + 4 x 10**1  + 5 x 10**0     3 is the most significant symbol (it carries the most weight)        5 is the least significant symbol (it carries the least weight)here's a binary number system:     digits (symbols) allowed: 0, 1     base (radix):  2     each binary digit is called a BIT     the order of the digits is significant     numbering of the digits	    msb           lsb	    n-1            0	where n is the number of digits in the number      1001 (base 2) is really	   1 x 2**3  + 0 x 2**2  + 0 x 2**1  + 1 x 2**0	   9 (base 10)      11000 (base 2) is really	   1 x 2**4  +  1 x 2**3  + 0 x 2**2  + 0 x 2**1  + 0 x 2**0	   24 (base 10)here's an octal number system:     digits (symbols) allowed: 0-7     base (radix):  8     the order of the digits is significant     345  (base 8) is really	  3 x 8**2  + 4 x 8**1  + 5 x 8**0	    192     +    32     +   5	    229 (base 10)      1001 (base 8) is really	   1 x 8**3  + 0 x 8**2  + 0 x 8**1  + 1 x 8**0	      512    +    0      +    0      +    1	   513 (base 10)here's a hexadecimal number system:     digits (symbols) allowed: 0-9, a-f     base (radix):  16     the order of the digits is significant     hex   decimal     0       0     1       1	  .	  .	  .     9       9     a       10     b       11     c       12     d       13     e       14     f       15      a3 (base 16) is really	   a x 16**1  + 3 x 16**0	    160       +   3	      163 (base 10)given all these examples, here's a set of formulas for the  general case.  here's an n-bit number (in weighted positional notation):       S     S    .  .  .   S    S    S        n-1   n-2            2    1    0    given a base b, this is the decimal value	  the summation (from i=0 to i=n-1) of S  x  b**i						iTRANSFORMATIONS BETWEEN BASES-----------------------------any base --> decimal    just use the definition give above.decimal --> binary    divide decimal value by 2 (the base) until the value is 0    example:	36/2 = 18  r=0  <-- lsb	18/2 =  9  r=0	 9/2 =  4  r=1	 4/2 =  2  r=0	 2/2 =  1  r=0	 1/2 =  0  r=1  <-- msb	 36 (base 10) == 100100 (base 2)	14/2 =  7  r=0  <-- lsb	 7/2 =  3  r=1	 3/2 =  1  r=1	 1/2 =  0  r=1  <-- msb	 14 (base 10) == 1110 (base 2)binary --> octal    1. group into 3's starting at least significant symbol       (if the number of bits is not evenly divisible by 3, then	add 0's at the most significant end)    2. write 1 octal digit for each group    example:		100 010 111  (binary)	 4   2   7   (octal)		 10 101 110  (binary)	 2   5   6   (octal)binary --> hex  (just like binary to octal!)    1. group into 4's starting at least significant symbol       (if the number of bits is not evenly divisible by 4, then	add 0's at the most significant end)    2. write 1 hex digit for each group    example:            1001 1110 0111 0000	9    e    7    0	  1 1111 1010 0011	1    f    a    3hex --> binary     (trivial!)  just write down the 4 bit binary code for     each hexadecimal digit     example:      3    9    c    8    0011 1001 1100 1000octal --> binary     (just like hex to binary!)     (trivial!)  just write down the 8 bit binary code for     each octal digithex --> octal     do it in 2 steps,       hex --> binary --> octaldecimal --> hex     do it in 2 steps,       decimal --> binary --> hexon representing nonintegers---------------------------what range of values is needed for calculations     very large:     Avogadro's number 6.022 x 10 ** 23 atoms/mole		     mass of the earth 5.98 x 10 ** 24 kilograms		     speed of light    3.0 x 10 ** 8 meters/sec     very small:     charge on an electron -1.60 x 10 ** (-19)scientific notation    a way of representing rational numbers using integers    (used commonly to represent nonintegers in computers)                                     exponent	    number =  mantissa x base		mantissa == fraction == significand	base == radix	point is really called a radix point, for a number with	 a decimal base, its called a decimal point.	all the constants given above are in scientific notationnormalization  to keep a unique form for every representable noninteger, they  are kept in NORMALIZED.  A normalized number will follow the  following rule:	   1 <=  mantissa  <  base    In this form, the radix point is always placed one place to  the right of the first significant symbol (as above).on precision, accuracy, and significant digits   These terms are often used incorrectly or ignored.  They are   important!   A measurement (in a scientific experiment) implies a certain   amount of error, depending on equipment used.  Significant   digits tell about that error.   For example, a number given as    3.6  really implies that this number is in the range of	 3.6 +- .05,   which is 3.55 to 3.65	 This is 2 significant digits.    3.60 really implies that this number is in the range of	 3.6 +- .005,   which is 3.595 to 3.605	 This is 3 significant digits.       So, the number of significant digits given in a number tells   about how accurately the number is known. The larger the number   of significant digits, the better the accuracy.   Computers (or calculators, a more familiar machine) have a fixed   precision.  No matter what accuracy of a number is known, they   give lots of digits in an number.  They ignore how many significant   digits are involved.   For example, if you do the operation 1.2  x  2.2. given that      each number has 2 significant digits, a correct answer is		  		  1.2		x 2.2		-----		   24		+ 24		-----		  264 --> 2.64  -->   2.6   or 2.6 +- .05      a calculator will most likely give an answer of 2.640000000,      which implies an accuracy much higher than possible.  The      result given is just the highest precision that the calculator      has.  It has no knowledge of accuracy -- only precision.BINARY FRACTIONS----------------       f     f    .  .  .   f    f    f  .  f    f    f  . . .        n-1   n-2            2    1    0     -1   -2   -3                                         |                                           |  					  binary point       The decimal value is calculated in the same way as for       non-fractional numbers,  the exponents are now negative.  example:          101.001 (binary)          1 x 2**2 + 1 x 2**0 + 1 x 2**-3             4     +    1     +  1/8                   5  1/8  = 5.125 (decimal)  2**-1 = .5  2**-2 = .25  2**-3 = .125  2**-4 = .0625   etc.converting decimal to binary fractions   Consider left and right of the decimal point separately.   The stuff to the left can be converted to binary as before.   Use the following algorithm to convert the fraction:   fraction  fraction x 2  digit left of point     .8          1.6              1 <-- most significant (f  )     .6          1.2              1                        -1     .2          0.4              0     .4          0.8              0     .8  (it must repeat from here!)            ----    .8 is  .1100NON-BINARY FRACTIONS--------------------same as with binary, only the base changes!       f     f    .  .  .   f    f    f  .  f    f    f  . . .        n-1   n-2            2    1    0     -1   -2   -3                                         |                                           |  					  radix point       The decimal value is calculated in the same way as for       non-fractional numbers,  the exponents are now negative.  example:          101.001 (octal)          1 x 8**2 + 1 x 8**0 + 1 x 8**-3             64     +    1     +  1/512                   65  1/512  = 65.0019 (approx)          13.a6 (hexadecimal)	  1 x 16**1 + 3 x 16**0 + a x 16**-1 + 6 x 16**-2	     16     +    3      +  10/16     +  6/256		  19  166/256 = 19.64 (approx)CONVERSION WITH OTHER BASES---------------------------another base to decimal: Just plug into the summation. 134 (base 5) 1 x 5**2  +  3 x 5**1  +  4 x 5**0   25      +    15      +    4	      44 (base 10)decimal to another base: Keep dividing by the base, same algorithm. 100 (base 10)   to base 5             rem 100/5   20   0  20/5    4   0   4/5    0   4   100 (base 10) = 400 (base 5)</pre>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -