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型是多少啊?为啥啊?的主要内容,如果未能解决你的问题,请参考以下文章

long(Long)与int(Integer)之间的转换

long long 在c语言中是啥类型

Java中long(Long)与int(Integer)之间的转换(转)

c#语言中怎么把int 型的数字转化为string 型输出

ARDUINO 中将一个unsigned char 的数组的数据转化为一个long 型的数

java怎么把long型的数据转化成Integer型的数据?