char转int 输出的是什么? c++中char类型变量如何转换成int类型变量?

char *\u600e\u6837\u8f6c\u6210int

char\uff0a\u600e\u6837\u65e0\u6cd5\u8f6c\u6210int\uff0cint\u53ef\u4ee5\u8f6c\u6210char\uff0a\u3002
1\uff0e\u9996\u5148\uff0c\u5728python\u547d\u4ee4\u7a97\u53e3\u4e2d\u952e\u5165int\uff0812\uff0c2\uff09\u3002\u7ed3\u679c\u662f\u4e00\u4e2a\u9519\u8bef\u3002

2\uff0e\u6539\u4e3a24589\u3002

3\uff0e\u5c06int\uff08\uff09\u65b9\u6cd5\u4e2d\u7684\u7b2c\u4e00\u4e2a\u53c2\u6570\u5b57\u7b26\u4e32\u7684\u6570\u91cf\u66f4\u6539\u4e3a0\u548c1\u3002

4\uff0e\u5982\u679c\u5e0c\u671b\u5c06\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3a\u516b\u8fdb\u5236\u6570\uff0c\u8bf7\u4f7f\u7528int\uff08\uff09\u65b9\u6cd5\u5e76\u4f20\u9012\u7b2c\u4e8c\u4e2a\u53c2\u65708\u3002

5\uff0e\u5c06\u5b57\u7b26\u4e32\u503c\u8f6c\u6362\u4e3adecimal\uff0c\u5c06\u7b2c\u4e8c\u4e2a\u53c2\u6570\u4f20\u9012\u7ed92\uff0c\u5e76\u8fd4\u56de\u76f8\u540c\u7684\u7ed3\u679c\u3002

6\uff0e\u5982\u679c\u5e0c\u671b\u5c06\u5b57\u7b26\u4e32\u4e2d\u7684\u503c\u8f6c\u6362\u4e3a\u5341\u516d\u8fdb\u5236\uff0c\u5e76\u4e14\u5b57\u7b26\u4e32\u4e2d\u7684\u503c\u4e0d\u80fd\u8d85\u8fc7\u5e38\u503c\u3002

\u5728ASCII\u7801\u4e2d\u6570\u5b57'0'-'9'\u7684\u7f16\u7801\u662f48 - 57\uff0c\u6240\u4ee5\u4f60\u51cf\u4e00\u4e2a'0',\u6216\u8005\u51cf\u4e00\u4e2a48\u90fd\u53ef\u4ee5\u3002

char 对应的ascii码得值赋给int
比如 A 的ascii码 为65 所以int值为65
a 为97 , int的值为97

类推

虽然语法检查查不出错误,但 这种强制转换没有意义。结果是垃圾。

i=(int)"b"; i=(int)"a"; ... 得一样的结果。
不同的编译器得的结果不同。未必是 4644892。

我认为输出的是垃圾值。

char类型是一种整型基本类型,当char被赋值为一个字符时,它所表示的就是该字符的ascii码值。C++标准规定int类型所占位数不比char小。事实上在如今大多数机器上,char占8位,1字节;int占32位,4字节。换句话说,char无论被实现为signed char还是unsigned char(由编译器决定),其表示的数都不会超过int的范围。因此char转换为int后值不变。

然而如果有一个奇葩的编译器,其实现的int类型和char类型所占位数相同(尽管奇葩,但符合C++标准),这时候如果char是signed char,没有问题,其能表示的整数的范围和int相同;但如果char是unsigned char,而且值比较大(比如int和char都是8位时超过127)时,转换为int后会超出范围,从而导致未定义的结果(赋值给一个有符号的整型一个超出范围的数会导致未定义的结果)。

扩展阅读:char转换成int型 ... int和char可以相互转换吗 ... javachar强制转换int ... int型怎么转成char ... c语言char强制转int ... javachar怎么变成int ... char转换成int方法 ... 怎么把char转成int ... 为什么char和int输出一样 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网