C++中将短数据类型扩展为长类型

本文探讨了C++中短数据类型如何扩展到长类型,重点在于数据在计算机内的二进制补码存储方式以及这种转换过程中的处理细节。

首先:任何数据在计算机内都是以二进制的补码形式存储的。

对数据的处理是对这个二进制的补码进行的操作。

 void main()
 { 
	  
	 cout<<"将有符号的数转换为无符号的数:"<<endl;
	 cout<<"将short int 装换为 int 类型:"<<endl;
	 short int a = 0x7000;  // 28672
	 unsigned int b  = a; 
	          int c  = a;
	cout<<"b="<<b<<endl;    // 28672
	cout<<"c="<<c<<endl;    // 28672
     short int  d = 0x8000; // -32768
	 unsigned int e  = d;    // 0xffff8000
	          int f  = d;    // -32768
	cout<<"e="<<e<<endl;
	cout<<"f="<<f<<endl;

	cout<<"将无符号数转换为有符号的数:"<<endl;
	unsigned short int g = 0x7000; // 28672
	int h = g;         
	unsigned int i = g;
	cout<<"h="<<h<<endl;   // 28672
	cout<<"i="<<i<<endl;   // 28672

	int n = ~a;
	unsigned int q = ~a;
	cout<<"n="<<n<<endl;  //-28673
	cout<<"q="<<q<<endl;
	unsigned short int  j = 0x8000; // 32768
	int k = j; 
	unsigned int m = j;
	cout<<"j="<<j<<endl;
	cout<<"k="<<k<<endl; // -32768
	cout<<"m="<<m<<endl; // 0xffff8000;
    


 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值