《C++ Primer》笔记之一
时间:2011-05-16 来源:sheshiji
     
  第一章
1、Page 32
代码:
  1、Page 32
代码:
      
View Code
    
1 #include <iostream>
2 using namespace std;
3
4 int main()
5 {
6 unsigned char test_1 = -1;
7 signed char test_2 = -1;
8 unsigned char test_3 = 336;
9
10 cout << (unsigned int)test_1 << endl;
11 cout << (signed int)test_2 << endl;
12 cout << (unsigned int)test_3 << endl;
13
14 return 0;
15 }
      打印结果为:255和-1,80
      解析:
      负数在计算机中是以二进制补码形式存放的,对于8位二进制数而言,-1的原码为1000 0001,其中最高位为1,代表负数,对应的补码则为1111 1111,当以无符号数读取是,该
    补码被读出为255.
      以有符号数读出时为-1.
      unsigned char的最大值为255,及1111 1111,当超过255的值赋给unsigned char对象时会截断数据,如336,对应的二进制数为1 0101 0000,所以阶段后面的8位,及
    0101 0000,对应的数即为80.
  
    2、Page 34
      代码:
  
 相关阅读 更多 + 
    
  
View Code
    









