发布网友 发布时间: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码,它以补码的形式表示。