整数类型(2)

<2>整数的内部表达

————引入二进制,计算机内部一切都是二进制

二进制:以2为基的数值系统,二进制整数以0,1数字序列组成,类比十进制:数字10相当于十进制中的2.

(1)列举三个典型整数进行举例:(8个数字是因为1 B=8 bit)

  1. 18——>00010010;
  2. 0——>00000000;
  3. -18——>?————引入二进制负数的表示

1)二进制负数

声明:一个字节可以表达的数的最大区间:00000000————11111111(0-255);
三种表达方式:
  1. 仿照十进制,用特殊的标志表示负数;
  2. 取半法:取中间的一半10000000(128)为分界线0,大于“0”的为正数,小于“0”的为负数;
  3. 补码;

但是前两种方法并不适用,会使程序更加复杂;因此我们采用第三种方法,用补码进行二进制负数的运算

此处举例:使-1+1=0

已知0用二进制表示是00000000,1用二进制表示是00000001;
全1的数与1相加即11111111与00000001进行相加,会进行进位,即进位之后为100000000,第九位的1会被舍弃,则结果是0;
由此类比-1:
知:-1=0-1;
则(1)注明:这里的1可理解为借位00000000-00000001=11111111注明:此时在补码中这位表示-1

*在纯二进制中11111111为255,但是在补码中11111111为-1;

以此类推可总结出规律————即-a=2^n- a,n是这种类型的位数(上一题中求-1,就是256(2^8)-1得出-1的补码11111111)

得出补码的意义:拿补码和原码可以加出一个溢出的0。

posted @ 2023-11-09 22:58  瑜阳  阅读(45)  评论(0)    收藏  举报