《c陷阱与缺陷》中的笔记——c语言数据转换的“坑”&& c语言无符号整数溢出

《c陷阱与缺陷》中的笔记——c语言无符号整数溢出
这个点应该不难理解了

《c陷阱与缺陷》中的笔记——c语言数据转换的“坑”
c语言岁有一个特点就是,数据转换是有规定的,不是我们平时想想的那样,
举例:char c
(unsigned) c 会首先转换为int类型,正确的使用方式是(unsigned char) c 会得到了与c等价的无符号整数。
因此我们使用的使用,尽量使用无符号,如果是有符号的整数,尽量int类型来处理,要了解c语言的特性。
另外 char c = 0x02,那么~c会首先扩展转换成int类型,0xffff fffd,而不是 0xfd,假设int是32位,
如下所示:

因此需要了解这个特点。

posted @ 2020-05-05 19:09  wdliming  阅读(237)  评论(0编辑  收藏  举报