c语言中long型的65530转化为int型是多少啊?为啥啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中long型的65530转化为int型是多少啊?为啥啊?相关的知识,希望对你有一定的参考价值。
int的范围是-32768至+32767,这个long的65530超过int的取值范围了。先把long的值转换成2进制,long型数据赋给int型变量时,将低16位值送给int型变量,而将高16 位截断舍弃。将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。 参考技术A 还是65530,long型与Int都是占4个字节,long转换为Int不需要强制减少字节下面是测试程序
void main( )
long int l = 65530;
printf("sizeof(l) = %d\r\n",sizeof(l));
int i = (int)l;
printf("i=%d\r\n",i);
追问
不是有的int是两个字节吗?如果按int是两个字节的话,是多少呢?
参考技术B 你试试这样:long a=65530;
printf("%d",(int)a);
Java中long(Long)与int(Integer)之间的转换(转)
一、将long型转化为int型,这里的long型是基础类型:
long a = 10;
int b = (int)a;
二、将Long型转换为int型,这里的Long型是包装类型:
Long a = 10; int b=a.intValue();
三、将int型转化为long型,这里的int型是基础类型:
int a = 10; long b = (int)a;
四、将Integer型转化为long型,这里的Integer型是包装类型:
int a = 10; Long b = a.longValue();
五、还有其它的方法,比如包装类型一般都有parseLong的parseXXX的静态方法,不过一般只能传String类型。
总结:这里的转化就是要注意java的八种基础数据类型以及八种包装数据类型的区别。
参考:
http://blog.csdn.net/u014039577/article/details/37925611(以上内容转自此篇文章)
以上是关于c语言中long型的65530转化为int型是多少啊?为啥啊?的主要内容,如果未能解决你的问题,请参考以下文章
Java中long(Long)与int(Integer)之间的转换(转)