得程序设设 感减 20023
C语言程序设计 2002 年 第二章 基本数据类型和运算
235位运算 (1)整数在机内的表示 A.任何整数在计算机内以二进制码形式存放。 无符号整数,所有位都用来表示数据的值: 例: unsigned char ch;中 ch分配一个字节能表示的数值范围:0~255 有符号整数,存储长度的最高位用来表示符号, 0表示正数,1表示负数, 例 中 16位机中,i分配两个字节能表示的数值范围:-32768 32767
2.3.5 位运算 (1) 整数在机内的表示: A. 任何整数在计算机内以二进制码形式存放。 无符号整数,所有位都用来表示数据的值: 例:unsigned char ch; 中, ch分配一个字节能表示的数值范围:0 ~255 有符号整数,存储长度的最高位用来表示符号, 0表示正数, 1表示负数, 例: int i; 中, 16位机中, i分配两个字节能表示的数值范围:-32768 ~ 32767
正数用原码表示;负数用补码表示 符号位例:mt=12:i的存储形式 15141312111098765432 0 0000000000001100 例:intj=-1;j存储形式为1的反码加1 15141312111098765432 0000000000000001 1514131211109876543210 111|1111111111110 1514131211109876543210 1111111111111111
正数用原码表示; 负数用补码表示. 例: int i=12; i的存储形式: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 例: int j=-1; j的存储形式为1的反码加1: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 符号位
intj=-13;j的存储形式为 首先,13的存储形式为 1514131211109876543210 00000000000 01101 求反 1514131211109876543210 11111 0 反码加1 15141312111098765432 0 11111001
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 例: int j=-13; j的存储形式为: 首先, 13的存储形式为: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 求反 反码加1
例:intj=-32768:j的存储形式为32768的反码加1 1514131211109876543210 1000000000000000 求反 1514131211109876543210 11111 11 15141312111098765432 0 1000000000000000
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 例: int j=-32768; j的存储形式为32768的反码加1: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 求反 加1