a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 101|回复: 0

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

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
位运算的含义及应用 , P) p  `: f6 I* m" C* D8 R
  1.位的概念
  j( l9 G1 Q- r) _# G& w  大多数计算机系统的内存储器是由众多的存储单元构成的。在微机中,每个存储单元是1个字节,它由8位二进制数构成,可以表示28=256种信息,各位的编号从0~7,最左边的位(第7位)是最高位,最右边的位(第0位)是最低位。由于二进制本身的特点,各位上的数字不是1,就是0。   s5 r, C+ N6 @& f' Z0 j: q
  本章中的位就是指上述提到的二进制位,本章中的位运算就是指对这些二进制的位进行逻辑运算、移位运算等操作。
) K' G' o% C4 j  2.数的编码
% n6 l) Y1 W# @7 ]! w  数在计算机中是以二进制表示的,但是它并不是简单地以它本身的数值的二进制形式来直接表示,而要进行一定的编码,以方便计算机进行处理。常用的编码有原码、反码、补码三种。 + z) o& p! V# Y( N# q! Q
  3.真值与原码 8 O; @; j  G  [4 a) M1 d
  我们将一个十进制数的二进制表示称为这个十进制数的真值,它代表了这个十进制数本身的数值。下表列出了一些数的真值。 6 p* \& p8 G8 }( P0 ]: I, b  E
  真值举例 0 Z' d, V  d- T$ I
  数 二进制表示 真值(16位) 2 r. `1 b- x/ c0 K! C% H; W
  0 3 f& I/ C4 M' [) H/ Y2 ^7 e
  1
2 O, s/ }2 R6 m  Y& y5 D. a  7 0 6 P6 w0 x( B6 m
  1 # ~" `9 M/ I  ^2 O5 J1 s* o
  111 0000000000000000 ! |* M3 g  c- V, g! ~- Y/ T4 ~% G
  0000000000000001
2 I5 h2 |! X9 V8 q# c  o- D  0000000000000111 
3 L; A5 z" Y. s  15 
5 }* }7 k. h( X# @. n2 F. P! Z$ W  1111  $ `8 t$ Y! R* t: c3 Y4 U
  0000000000001111
1 R! o' o+ e' |0 Z( [) _2 L, z  255 / q2 U! t2 X- Z$ U1 t! t' F( ]5 u
  4095
' ^( |* G* J4 V- N0 _! _, p* N  65535 11111111 7 Y7 E4 M9 o8 s1 Q" u  u1 w
  111111111111
- R  R, j8 S0 C4 W- j; J  1111111111111111 0000000011111111
4 D5 m" ?* p: l" u  M. ^- c  0000111111111111
. C0 O0 r$ [1 M0 d% _- O  1111111111111111
' c( y0 h1 \- X  用真值表示的数只能是正数,对于负数,要用“一”号标明,例如: 7 X8 t( M% A5 F( i
  -7的真值为-0000000000000111 -65535的真值为-1111111111111111
4 N1 O$ i  d6 K: z% L5 }  这势必造成用计算机表示数时的不便,故引入了原码表示法。
% u$ L$ y+ Y8 H# C$ I$ k: m  在原码表示法中,最高位代表符号位,用“1”表示负数,“0”表示正数;余下的数位用来表示真值的绝对值。 6 Z; r, }, L( Y6 R8 k
  数字零存在着两种表示方法:+0与-0。
6 S8 m7 W3 \& s/ v  4.反码 9 d# E+ {- v7 t% g# k: O7 V+ c
  若采用反码表示,则对应的原码应按照以下方法进行转换: + B& z5 v. g! G
  (1)如果真值为正,则它的反码与原码相同; 0 ?# V( A3 S, K
  (2)如果真值为负,则反码的符号位为1,其余各位就是对原码取反(即原码的1变为0,原码的0变为1)。 , W  B& r" x. e% ]/ F# C' e- I  l* O# s
  5.补码
  y5 Q7 H2 _# Y8 }% c; n) D+ i  (1)为什么要引入补码   s; x0 {/ s$ ~5 `
  补码具有许多独特的优点:首先它可以变减法运算为加法运算,使得计算时步骤统一,速度提高;其次,在这种系统下的“0”只有惟一的一种表示方法,这就是现代的计算机系统中大多采用补码的原因。
. j/ r7 \( }8 Y% o, m5 k+ m  (2)补码的规定 1 \( a$ ~* K. y+ z9 ?4 X4 Q! s
  ①正数的原码、补码、反码均相同; 7 W4 Q9 y; g3 [/ \* d( e
  ②计算负数的补码时,先置符号位为1,再对剩余原码的位数逐位取反,最后对整个数加1。   在微机上以8位二进制数为一字节的存储单元中采用补码系统,它可以存放的最小整数为-128,最大整数为+127。若采用两个字节来表示一个整数,则可表示的最小整数为-32768,最大整数为+32767。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 18:49 , Processed in 0.245041 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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