linux c++中char默认是带符号的,使用(int)ch 对char类型进行转换得到的可以是负值,如ch真实是255,通过转换到int将得到-1,但是怎么得到255进行打印输出呢?可以使用(int)((unsigned char)(ch)),先将ch转换为unsigned char,这样系统就认为没有符号了,再转换到int就可以啦。
对于char类型是否默认带符号,android ndk下面跟linux不一样。这一点要注意。
本文探讨了在Linux C++环境下char类型的默认符号属性及其转换到int类型的方法。特别指出,在转换过程中如何避免负数表示的问题,并给出了具体的转换代码示例。同时,还提到了在Android NDK环境下char类型的符号特性可能有所不同。
linux c++中char默认是带符号的,使用(int)ch 对char类型进行转换得到的可以是负值,如ch真实是255,通过转换到int将得到-1,但是怎么得到255进行打印输出呢?可以使用(int)((unsigned char)(ch)),先将ch转换为unsigned char,这样系统就认为没有符号了,再转换到int就可以啦。
对于char类型是否默认带符号,android ndk下面跟linux不一样。这一点要注意。
510

被折叠的 条评论
为什么被折叠?
