C:整型数据与字符型数据的存储问题

来源:互联网 发布:阿里云 paas iaas 编辑:程序博客网 时间:2024/05/17 23:49

问题一:

输出结果 -128

原因:128对应的二进制数为1000 0000,将其存入a所代表的一字节内存中,由于在打印时是以%d的形式打印,因此需要将8位数据补齐为32位数据,而根据变量定义可知,a的空间中应存放有符号数据,因此在系统眼里1000 0000的最高位代表符号位,在补齐时,高位填充0直到够32位之后,将最高位置1,作为符号位,因此结果为1 000 0000 0000 0000 0000 0000 1000 0000,即-128.



原创粉丝点击