a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 82|回复: 0

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

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
位运算的含义及应用
6 R7 U% G' G  U5 x( c: b  1.位的概念 6 Y, Q& E& V) Z! D) [
  大多数计算机系统的内存储器是由众多的存储单元构成的。在微机中,每个存储单元是1个字节,它由8位二进制数构成,可以表示28=256种信息,各位的编号从0~7,最左边的位(第7位)是最高位,最右边的位(第0位)是最低位。由于二进制本身的特点,各位上的数字不是1,就是0。
7 W9 c8 m& |/ }6 P& W9 O3 [& h  本章中的位就是指上述提到的二进制位,本章中的位运算就是指对这些二进制的位进行逻辑运算、移位运算等操作。
: K8 ~3 ?1 ^: }  2.数的编码
! N: V) S  m2 w  数在计算机中是以二进制表示的,但是它并不是简单地以它本身的数值的二进制形式来直接表示,而要进行一定的编码,以方便计算机进行处理。常用的编码有原码、反码、补码三种。
2 c0 v. [/ `/ E& r  3.真值与原码
$ T$ n4 q. l; F  我们将一个十进制数的二进制表示称为这个十进制数的真值,它代表了这个十进制数本身的数值。下表列出了一些数的真值。 9 H# a( x8 t, H) y; n
  真值举例
7 p, [1 y) g$ T4 L- Y  数 二进制表示 真值(16位) 1 W7 i& C' `& n1 B( n
  0 4 t! F; x7 a4 r% P# d  x
  1
6 d& z' w( @# q6 w% M) }  7 0 ' ^5 {8 p+ g# f; Z
  1
8 v: O& o- J* L3 O/ a) E% r2 A  111 0000000000000000
6 ^6 m4 j/ U8 J1 v1 {! F# R  0000000000000001
' _4 l/ _# I" t' o8 \& v) J  0000000000000111  : R: K) F( v# R9 a9 w$ [. W
  15 
: B) c" `0 w" i* S( o  1111 
% V( h5 X6 R$ R( l3 f5 Q0 N  0000000000001111 / A  U% I8 H8 f
  255
5 z4 p- J. U# r+ D, r: b8 y+ _  4095 ) ^9 n5 p6 _0 ]' g) F8 G
  65535 11111111
2 i( y7 l- m& o  d3 J2 R- a5 ~  111111111111 3 K' L; ]# w1 ^' P( j
  1111111111111111 0000000011111111
* {  {9 p+ l: V8 x; t0 a  0000111111111111 7 b' \. ~1 v# \5 E/ v
  1111111111111111 ) L  h/ x# Z) l6 f
  用真值表示的数只能是正数,对于负数,要用“一”号标明,例如: ! _7 u$ T9 K3 s- Z
  -7的真值为-0000000000000111 -65535的真值为-1111111111111111 " w  Z3 K; O: {
  这势必造成用计算机表示数时的不便,故引入了原码表示法。
! e" {8 Y( ~& b% k0 R5 ?. m* P  在原码表示法中,最高位代表符号位,用“1”表示负数,“0”表示正数;余下的数位用来表示真值的绝对值。 & H( a; x6 ^$ u- E
  数字零存在着两种表示方法:+0与-0。 & y0 [& ~4 P9 F6 F
  4.反码 , A/ z- k* y8 x) s' c3 b/ x- [
  若采用反码表示,则对应的原码应按照以下方法进行转换:
" T' H6 w; ~+ V8 _# L$ \  (1)如果真值为正,则它的反码与原码相同; ' e. L% P$ z7 C& B
  (2)如果真值为负,则反码的符号位为1,其余各位就是对原码取反(即原码的1变为0,原码的0变为1)。
* w) R$ [2 K" T, ]" I  5.补码
2 N5 U( j4 w; O9 Q* \  (1)为什么要引入补码
0 B+ `% V4 Y% }0 d/ r9 H" m  补码具有许多独特的优点:首先它可以变减法运算为加法运算,使得计算时步骤统一,速度提高;其次,在这种系统下的“0”只有惟一的一种表示方法,这就是现代的计算机系统中大多采用补码的原因。
+ l8 [8 k( z3 I4 z. ~4 w' Z  (2)补码的规定
) S) D8 w; r' g% X! y  ①正数的原码、补码、反码均相同;
6 s; Y3 J4 p, [' R2 J  ②计算负数的补码时,先置符号位为1,再对剩余原码的位数逐位取反,最后对整个数加1。   在微机上以8位二进制数为一字节的存储单元中采用补码系统,它可以存放的最小整数为-128,最大整数为+127。若采用两个字节来表示一个整数,则可表示的最小整数为-32768,最大整数为+32767。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 16:09 , Processed in 0.151891 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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