📄 unit 2-35%.htm
字号:
<p class=MsoNormal align=left style='margin-top:12.0pt;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan'><span lang=EN-US
style='font-size:10.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;
color:black;mso-font-kerning:0pt'>© Copyright 1999-2005 <span
class=SpellE>iCarnegie</span>, Inc. All rights reserved.<o:p></o:p></span></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan;mso-outline-level:2'><b><span
lang=EN-US style='font-size:18.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>2.1 Bits and Bit Manipulation<o:p></o:p></span></b></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:36.1pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><![if !supportLists]><span
lang=EN-US style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;color:black;
mso-font-kerning:0pt'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span dir=LTR><span lang=EN-US style='font-size:
12.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;color:black;mso-font-kerning:
0pt'><a href="javascript:ContentByName('pg-binary');">2.1.1 The World in Zeros
and Ones</a> <o:p></o:p></span></span></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:36.1pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><![if !supportLists]><span
lang=EN-US style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;color:black;
mso-font-kerning:0pt'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span dir=LTR><span lang=EN-US style='font-size:
12.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;color:black;mso-font-kerning:
0pt'><a href="javascript:ContentByName('pg-bit-words');">2.1.2 Grouping Bits
into Words</a> <o:p></o:p></span></span></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:36.1pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><![if !supportLists]><span
lang=EN-US style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;color:black;
mso-font-kerning:0pt'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span dir=LTR><span lang=EN-US style='font-size:
12.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;color:black;mso-font-kerning:
0pt'><a href="javascript:ContentByName('pg-bit-operations');">2.1.3 Bit
Operations</a> <o:p></o:p></span></span></p>
<p class=MsoNormal align=left style='margin-top:12.0pt;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan'><span lang=EN-US
style='font-size:10.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;
color:black;mso-font-kerning:0pt'>© Copyright 1999-2005 <span
class=SpellE>iCarnegie</span>, Inc. All rights reserved.<o:p></o:p></span></p>
<h2><span lang=EN-US style='color:black'>2.1.1 The World in Zeros and Ones<o:p></o:p></span></h2>
<p><span lang=EN-US style='color:black'>At the lowest hardware levels, all
computers deal with binary data: a transistor is either conducting or not
conducting, a voltage is either high or low, and a memory cell is either
charged or not changed. A single unit of this form of data is called a <i>binary
digit</i>, or <i>bit</i> for short. All data in a computer is composed of bits.<o:p></o:p></span></p>
<p class=footer><span lang=EN-US style='color:black'>© Copyright 1999-2005
<span class=SpellE>iCarnegie</span>, Inc. All rights reserved.<o:p></o:p></span></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan;mso-outline-level:2'><b><span
lang=EN-US style='font-size:18.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>2.1.2 Grouping Bits into Words<o:p></o:p></span></b></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan'><span lang=EN-US
style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;
color:black;mso-font-kerning:0pt'>Some early computers processed data one bit
at a time to conserve hardware resources, but modern computers operate on many
bits in parallel to make processing faster. Hence, bits are often organized
into larger units, called <i>bytes</i> (to be discussed later) and <i>words</i>.
A typical word is a sequence of 32 bits.<o:p></o:p></span></p>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan'><span lang=EN-US
style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;
color:black;mso-font-kerning:0pt'>In C, an <span class=SpellE>int</span>
usually corresponds to a word. Thus we can designate a word by declaring an <span
class=SpellE>int</span>:<o:p></o:p></span></p>
<div align=center>
<table class=MsoNormalTable border=0 cellpadding=0 style='mso-cellspacing:1.5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
class=SpellE><span lang=EN-US style='font-size:12.0pt;font-family:SimSun;
mso-bidi-font-family:SimSun;color:black;mso-font-kerning:0pt'>int</span></span><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'> <span class=SpellE>oh_my_word</span>;<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><b><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>Example 1</span></b><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'> Allocate a word<o:p></o:p></span></p>
</td>
</tr>
</table>
</div>
<p class=MsoNormal align=left style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;text-align:left;mso-pagination:widow-orphan'><span lang=EN-US
style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:SimSun;
color:black;mso-font-kerning:0pt'>We can set the bits in the word by assigning
the <span class=SpellE>int</span> a constant. The most useful constants for
setting bits are hexadecimal (base 16) constants because each hexadecimal digit
corresponds to exactly 4 bits. The following table gives bit patterns
corresponding to the 16 hexadecimal digits:<o:p></o:p></span></p>
<div align=center>
<table class=MsoNormalTable border=0 cellpadding=0 style='mso-cellspacing:1.5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=center style='text-align:center;mso-pagination:widow-orphan'><b><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>Hexadecimal<o:p></o:p></span></b></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=center style='text-align:center;mso-pagination:widow-orphan'><b><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>Binary<o:p></o:p></span></b></p>
</td>
</tr>
<tr style='mso-yfti-irow:1'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0000<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:2'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0001<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:3'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>2<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0010<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:4'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>3<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0011<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:5'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>4<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0100<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:6'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>5<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0101<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:7'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>6<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0110<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:8'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>7<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>0111<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:9'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>8<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1000<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:10'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>9<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1001<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:11'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>A<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1010<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:12'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>B<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1011<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:13'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>C<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1100<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:14'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>D<o:p></o:p></span></p>
</td>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>1101<o:p></o:p></span></p>
</td>
</tr>
<tr style='mso-yfti-irow:15'>
<td style='padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal align=left style='text-align:left;mso-pagination:widow-orphan'><span
lang=EN-US style='font-size:12.0pt;font-family:SimSun;mso-bidi-font-family:
SimSun;color:black;mso-font-kerning:0pt'>E<o:p></o:p></span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -