C 语111概述 程+7的原码为:00000111 序设计精品 代表'正 7的原码为:10000111 代表,"负 课二进制的111代表十进制的7,为简化起见,我们只用 程一个字节存放一个整数,如果用两个 字节存放一个整数,情况是一样的,无非把+7表示成0 000000000000111而已。 十0的原码为00000000 0的原码为10000000 显然,+0和一0表示的是同一个数0,而在内存中却有 两个不同的表示。也就是说,0的表示 米不唯一,这不适合于计算机的运算
+7的原码为: 00000111 | 代表'正' 一7的原码为: 10000 1 1 1 | 代表,'负' 二进制的111代表十进制的7,为简化起见,我们只用 一个字节存放一个整数,如果用两个 字节存放一个整数,情况是一样的,无非把+7表示成0 0000000 00000111而已。 十0的原码为 00000000 一0的原码为 10000000 显然,+0和一0表示的是同一个数0,而在内存中却有 两个不同的表示。也就是说,0的表示 不唯一,这不适合于计算机的运算。 11.1 概 述
C 语111概述 言三、反码 程 个数如果值为正,则它的反码与原码相同,如: 设7的反码为00000111 计 个数的值如为负,则符号位为1,其余各位是对原 码取反。如 精 7的反码为:11111000 十0的反码为:00000000 课 0的反码为:11111111 荆程 同样,O的表示不唯一。用反码表示的最大值为1 ,最小值为-127。 127的反码为:01111111 127的反码为:1000000 用反码表示数,现已不多用 四、补码 原码和反码都不便于计算机内的运算,因为在运算中 要单独处理其符号
三、反码 一个数如果值为正,则它的反码与原码相同,如:+ 7的反码为00000111。 一个数的值如为负,则符号位为1,其余各位是对原 码取反。如: 一7的反码为:11111000 十0的反码为:00000000 一0的反码为:11111111 同样,o的表示不唯一。用反码表示的最大值为12 7,最小值为-127。 127的反码为: 01111111 一127的反码为: 10000000 用反码表示数,现已不多用。 四、补码 原码和反码都不便于计算机内的运算,因为在运算中 要单独处理其符号。 11.1 概 述
C 语111概述 程例如,对以原码表示的+7和一7相加,必须先判断各自 序的符号位,然后对后7位进行相应的处理,很不方便。 设 因此,最好能做到将符号位和其它位统一处理。对减 计法也按加法来处理。这就是“补码” “补码”的原理可以用时钟来说明,见图11.1。 精如果要将时针从9点拨到4点,可以向前拨,也可以向后 课拨,其表示如下 荆程 10 2 4 7 技术系
例如,对以原码表示的+7和一7相加,必须先判断各自 的符号位,然后对后7位进行相应的处理,很不方便。 因此,最好能做到将符号位和其它位统一处理。对减 法也按加法来处理。这就是“补码”。 “补码”的原理可以用时钟来说明,见图11.1。 如果要将时针从9点拨到4点,可以向前拨,也可以向后 拨,其表示如下: 12 11 1 10 2 9 ------- 3 8 4 7 5 6 11.1 概 述
C 语111概述 程95=4(向后拨5个字) 序9+7=16(向前拨7个字) 设从图上可见,向前拨7个字也能指向4。这是由于钟是 计圆的,12点的下一个小时是1点。时钟是12进制的 可以把12点看成0点,13点就是1点,其实是进位 后得到了十二进制数11,其中第一个1是进位,即高位 课,第二个1是低位。高位不保留,只保留低位,因此,1 荆程6点用十二进制数表示为14,高位不保留,在时钟上 就是4点,用十进制数可表示为:16-12=4。 对十进制数,如果想从9得到结果值5,可以用减 法 9一4=5 已知4的补数为10-4=6,即4与6互补。因此9 4可以改写为加法: 技术系 9+6=15
9一5=4 (向后拨5个字) 9+7=16(向前拨7个字) 从图上可见,向前拨7个字也能指向4。这是由于钟是 圆的,12点的下一个小时是1点。时钟是12进制的 ,可以把12点看成0点,13点就是1点,其实是进位 后得到了十二进制数11,其中第一个1是进位,即高位 ,第二个1是低位。高位不保留,只保留低位,因此,1 6点用十二进制数表示为14,高位不保留,在时钟上 就是4点,用十进制数可表示为:16一12=4。 对十进制数,如果想从9得到结果值5,可以用减 法: 9一4=5 已知4的补数为10一4=6,即4与6互补。因此9 一4可以改写为加法: 9+6 =15 11.1 概 述
C 语111概述 程再去掉高位1,得5 在计算机中,以一个有限长度的二进位作为数的模, 设如果用1个字节表示一个数,一个字节为8位,模为256 计因为逢256就进1,在内存中情况为 精品课一 11000000 荆程进位被丢弃 补码是这样规定的 正数:其原码、反码、补码相同。例如,+7的补 来码也是00000111。 负数:最高位为1,其余各位为原码的相应位取反 ,然后对整个数加1。例如: 7的原码: 10000111 技术系 7的补码:第①步:11111000
再去掉高位1,得5。 在计算机中,以一个有限长度的二进位作为数的模, 如果用1个字节表示一个数,一个字节为8位,模为256。 因为逢256就进1,在内存中情况为 ------------ 1|00000000| ------------- 进位被丢弃。 补码是这样规定的: 正数:其原码、反码、补码相同。例如,+7的补 码也是00000111。 负数:最高位为1,其余各位为原码的相应位取反 ,然后对整个数加1。例如: 一7的原码: 10000111 一7的补码:第①步: 11111000 11.1 概 述