a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 102|回复: 0

[C语言] 2012计算机等级考试C语言考点3

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
位运算的含义及应用 8 b; v0 e1 X/ Y. I& |4 _
  1.位的概念 9 ~& H$ J' x. P* p; G
  大多数计算机系统的内存储器是由众多的存储单元构成的。在微机中,每个存储单元是1个字节,它由8位二进制数构成,可以表示28=256种信息,各位的编号从0~7,最左边的位(第7位)是最高位,最右边的位(第0位)是最低位。由于二进制本身的特点,各位上的数字不是1,就是0。
9 {* v3 h. b7 E0 z8 p  本章中的位就是指上述提到的二进制位,本章中的位运算就是指对这些二进制的位进行逻辑运算、移位运算等操作。
/ w$ P' f& t; j1 z2 O  2.数的编码 / e: h: W8 w0 m- B
  数在计算机中是以二进制表示的,但是它并不是简单地以它本身的数值的二进制形式来直接表示,而要进行一定的编码,以方便计算机进行处理。常用的编码有原码、反码、补码三种。
/ t$ s$ k0 U6 J, b0 k& h7 l! U- N  3.真值与原码
( x# u5 }7 R5 M5 P+ b. m9 Z5 z  我们将一个十进制数的二进制表示称为这个十进制数的真值,它代表了这个十进制数本身的数值。下表列出了一些数的真值。 . c+ ^* [% z# \* [; M- z
  真值举例 $ e+ X+ h: }# E& E
  数 二进制表示 真值(16位)
/ w/ ?. }( L2 ~8 F  0
1 W3 I6 r  Q4 R% c) @8 V/ W5 [1 Y7 r  1
: y' ~6 J& K4 O7 {+ Y  7 0 ; B! l8 g/ o9 L" |6 B( S+ n
  1 / _' X2 J0 I7 X7 N/ R+ W& w
  111 0000000000000000 # J8 m+ K9 x- ^: x
  0000000000000001
7 U' h+ a: }) O% h% r  0000000000000111  $ g, x: k( h0 s3 I4 X
  15    f- \$ Q/ }; _9 e9 p
  1111  , [# [1 B1 C$ g& r$ X
  0000000000001111
( X+ Z2 G6 f: i8 d  j0 I, e  255 9 |, D5 Y. c& N' w5 s
  4095 3 S# u% [; h- _: Z+ h( U% c
  65535 11111111 / }# n) m7 S" j4 T/ G
  111111111111
' z% ]; b6 O5 i' T; \  1111111111111111 0000000011111111
; x4 x1 T: U  q7 ^  0000111111111111
% D2 G4 f0 b6 ~7 @% j' E1 R  1111111111111111 + \& `/ o1 a& Q* N4 }$ L
  用真值表示的数只能是正数,对于负数,要用“一”号标明,例如:
9 ]& H% m7 a7 F/ U0 P5 P) K  -7的真值为-0000000000000111 -65535的真值为-1111111111111111 # U0 `# ^" \, w8 v/ Q( X6 G" w- T2 N
  这势必造成用计算机表示数时的不便,故引入了原码表示法。 ; Y3 X5 p9 [. g, z) _: @1 W. Y# h
  在原码表示法中,最高位代表符号位,用“1”表示负数,“0”表示正数;余下的数位用来表示真值的绝对值。
- o8 O, j& ^; j3 N2 J  数字零存在着两种表示方法:+0与-0。
/ d3 |2 Y% N: q6 `/ l, [4 ]# M  4.反码 . S* @/ `- u: q0 n" }
  若采用反码表示,则对应的原码应按照以下方法进行转换:
, v& M8 L3 W- K' H2 s6 g2 k; U  (1)如果真值为正,则它的反码与原码相同;
1 }. N5 |! Z' v4 P  (2)如果真值为负,则反码的符号位为1,其余各位就是对原码取反(即原码的1变为0,原码的0变为1)。
+ k$ W: _% n' m/ G1 g# W  5.补码 # M6 P+ q% S2 o, W8 l4 X8 O
  (1)为什么要引入补码 ' O- o3 T% }6 D2 Q( A
  补码具有许多独特的优点:首先它可以变减法运算为加法运算,使得计算时步骤统一,速度提高;其次,在这种系统下的“0”只有惟一的一种表示方法,这就是现代的计算机系统中大多采用补码的原因。 & X$ b$ Z3 \( C  Q0 y
  (2)补码的规定 3 t# C' {$ u, n" U, L- v
  ①正数的原码、补码、反码均相同; 6 N2 g; g$ q+ h
  ②计算负数的补码时,先置符号位为1,再对剩余原码的位数逐位取反,最后对整个数加1。   在微机上以8位二进制数为一字节的存储单元中采用补码系统,它可以存放的最小整数为-128,最大整数为+127。若采用两个字节来表示一个整数,则可表示的最小整数为-32768,最大整数为+32767。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-29 19:27 , Processed in 0.227696 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表