- 博客(1)
- 收藏
- 关注
原创 C语言中的单目运算符
按照运算符的介绍,按二进制位取反后,得到的数字应该为2^32-1(int类型有4个字节每个字节存储8位二进制数,最高位为符号位),但打印出来的结果却是-1。原码符号位不变,其他位取反得到反码,反码加1得到补码,反过来获取原码时,三十二个1需要先减去一个1,所以除了最低位是0,其余位置全是1。这是因为负数在内存中存储时,存储的是二进制的补码,而printf函数输出的是数字的原码,所以需要进行转换。在该语句当中,先使用a的值,再自增,即先把a原先的值赋给b,a再自增。
2023-09-11 20:38:55 784
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人