请问一个字符与整型之间的转换运算有关问题

请教一个字符与整型之间的转换运算问题
#include <iostream>  
using   namespace   std;  
int   main()  
{char   c1,c2;  
int   i1,i2;  
cout < < "please   input   two   numbers: ";  
cin> > i1> > i2;  
c1=i1;  
c2=i2;  
cout < < "the   resulst   is: " < <c1 < <c2 < <endl;  
system( "pause ");  
return   0;  
}

如果输入-132和1000,请问如何考虑输出结果是什么?

我输出的结果是|

请问问什么呢?


------解决方案--------------------
如果是 '0 '- '9 '转换的话,这样写 n=ch-48; // 或者 n=ch- '0 ';

如果是多位,就一位一位转,只有一个字符是不够的~~~
------解决方案--------------------
int向char赋值的时候会截短的,只留下低字节的内容.
------解决方案--------------------
ascii转换,严重同意Piao_Polar(飘)的思想
------解决方案--------------------
结果其实跟机器的编码有关. 不过char是一个字节的, 在我机器上的范围是[-128, 127), LZ输入的-132和1000显然都是溢出了, 在这种情形下, 机器自动把他们truncate到[-128,127)之内, 也就是-132+256 = 124了, 1000-4*256=-24了, 而124就是ASCII码|, 而-24不是可显示码.