当前位置:首页 » 编程语言 » c语言long转int

c语言long转int

发布时间: 2025-08-15 02:18:52

c语言long long(int64)和int(int32)之间如何安全的互相转换

int aa = (Int32)((((long)4294917296) << 32)>>32);

int32赋值给int64,因为int64的表示范围更大,此时直接赋值,一定安全;

int64赋值给int32,如果int64中的数据值不超过int32的表示范围,没问题,如果超出范围就会溢出,不能安全转换。

就是int乘以int默认使用int做的,有可能不够长,所以强制转换。当然这种解释只能是一种常见说法,还需要结合平台,与编译器。这种东西,没有定论的。只有实践才能看到结果。如果实际产品中,显然需要杜绝默认类型转换的发生。

(1)c语言long转int扩展阅读:

Int64 为比较此类型的实例、将实例的值转换为它的字符串表示形式以及将数字的字符串表示形式转换为此类型的实例提供了相应的方法。警告在32位Intel 计算机上分配 64 位值不是原子操作;即该操作不是线程安全的。这意味着,如果两个人同时将一个值分配给一个静态 Int64 字段,则该字段的最终值是无法预测的。

⑵ c语言中long型的65530转化为int型是多少啊为什么啊

int的范围是-32768至+32767,这个long的65530超过int的取值范围了。先把long的值转换成2进制,long型数据赋给int型变量时,将低16位值送给int型变量,而将高16 位截断舍弃。将int型数据送给long型变量时,其外部值保持不变,而内部形式有所改变。

⑶ C语言上不是说在数字后加L或者l 就为长整型吗

int的最大表示就是65535 你的结果超出显示范围了
就算你用 65535L来赋值 但是c本身是int的 不可能用赋值去改变变量本身
除非定义的时候 long c c=65535l

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:249
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705