编译器信息还不知道怎么看。
在我的电脑和手机的GCC环境中!:值得取反。 对于整形变量,除非为0,否则使用3358www.Sina.com取反均为0,0取反为1。!就像只有真伪一样。
bool代表比特反转相对于整形变量每二进制比特反转,0变为1,1变为0。
实验~:
#include 'stdio.h'int main () {char u8_a=1; short short_a=1; int int_a=1; printf---------------------- -加printf((n(t元值:(n ); printf((tu8_a:%x(n ),u8_a ); 打印((t short_a : % x (n ),short _ a ); printf((tint_a:%x(n ),int_a ); printf((n(t ) )位反转) :(n ) ); printf((tu8_a:%x(n ),~u8_a ); printf((tshort_a:%x(n ),~short_a ); printf((tint_a:%x(n ),~int_a ); 打印((n ) t! (值相反) 3360(n ); printf((tu8 ) a:%x(n ), u8_a; printf((tshort_a:%x(n )! short_a; printf((tint_a:%x(n )! int_a; u8_a=-1; short_a=-1; int_a=-1; printf--------------------------------; printf((n(t元的值:(n ); printf((tu8_a:%x(n ),u8_a ); 打印((t short_a : % x (n ),short _ a ); printf((tint_a:%x(n ),int_a ); printf((n(t ) )位反转) :(n ) ); printf((tu8_a:%x(n ),~u8_a ); printf((tshort_a:%x(n ),~short_a ); printf((tint_a:%x(n ),~int_a ); 打印((n ) t! (值相反) 3360(n ); printf((tu8 ) a:%x(n ), u8_a; printf((tshort_a:%x(n )! short_a; printf((tint_a:%x(n )! int_a; getchar (; 返回0; } 在VS2017平台下运行。
结果关于某些变量为什么添加了很多字节,添加位。