标签:类型转换 short 计算机 int unsigned 1111 1110 强制 0001
定点整数
长度相同的无符号和有符号数转化
无符号数与有符号数:不改变数据内容,改变解释方式。
C 中的int short 等类型都是用补码的形式存储的。
short x=-4321;
内存中存储为X:1110 1111 0001 1111 计算机真值显示为:-4321
unsigned short y=(unsigned short) x;
内存中存储为y:1110 1111 0001 1111 计算机真值显示为:61215
长数据强转为短数据(强制转化)
长整数变短整数:高位截断,保留低位。
int short a=165537,b=-34991; //int型占用4个字节
short c=(short)a,d=(short)b;//short型占用2个字节
短整数变长整数:符号扩展。
short x=14321;//x:1110 1111 0001 11110xeflf
int m=x;// 有符号再内存保存为补码,因此有符号短整->长整,需在前面加1111 1111 。 x:1110 1111 0001 1111 真值0xeflf
unsigned short n= (unsigned short) x; //n: 1110 1111 0001 1111 0xef1f 真值61215
unsigned int p=n;//p: 0000 0000 0000 00001110 1111 0001 1111 无符号转化前面直接填0
标签:类型转换,short,计算机,int,unsigned,1111,1110,强制,0001 来源: https://www.cnblogs.com/cdaniu/p/16391942.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。