首页 热点资讯 义务教育 高等教育 出国留学 考研考公

[c语言]为什么int与char可以互相转换?

发布网友 发布时间:2022-04-22 12:02

我来回答

1个回答

热心网友 时间:2023-09-15 13:33

在以下类型链上,数据的表示方式相同,可以互相转换。左边的类型小于右边的类型。
char->short->int->long
从左边往右边转换,不会丢失精度;从右边往左边转换,可能丢失精度。追问丢失精度的意思是不是 long转换成int有可能超出int所能表达的数值?
然后就是,int与char数据的表示方式分别是补码和ASCII码,它们不是不一样么

追答丢失精度的意思是不是 long转换成int有可能超出int所能表达的数值?
是的。

补码和ASCII码是两个不相干的东西,尽管它们都有“码”字,就好像老虎和壁虎是两个完全不相干的东西,尽管它们都有“虎”字。ASCII是一张编码表,表中每一个字符对应一个整型数字。而整型数字在计算机中都是以补码的形式表示和计算的。所以,char中存储的是字符的ASCII码,它以补码的形式表示。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com