发布网友 发布时间:2022-05-26 08:53
共1个回答
热心网友 时间:2023-10-10 01:02
咨询记录 · 回答于2021-10-12c语言中整数怎么取反亲,你好,小编为你查询到十进制数字 7 的二进制码00000000 00000000 00000000 00000111按位取反运算 ~711111111 11111111 11111111 11111000所以 printf("%x\n",~7); //十六进制输出:fffffff811111111 11111111 11111111 11111000 的最高八位符号位(11111111,表示负数),有符号整数在计算机中采用补码存储,即 该二进制数为所求整数的补码。负数的补码 = 原码 取反 + 1;所以 原码 = 补码 - 1 取反所以有:11111111 11111111 11111111 11111000(补码)11111111 11111111 11111111 11110111( -1 )11111111 00000000 00000000 00001000(取反 得到原码 -8)所以 printf("%d\n",~7); //十进制输出:-8