0取反是1,0代表正数,1代表负数,所以结果是-1。
你所使用的编译器是32位的,其记录0用了32位的二进制即 0000 0000 0000 0000 0000 0000 0000 0000 把它们取反,所有的0变成1即 1111 1111 1111 1111 1111 1111 1111 1111 写成十六进制就是是ffffffff
为什么在c语言中对0进行取反会得到ffffffff 为什么在c语言中对0进行取反会得到ffffffff 一个f是4位,那么8个就是32位了,这是存储字节的问题,跟数据类型和操作系统有关32位的0就是00000000这个是十六进制的032位的非0就是全为1那就是ffffffff十六进制,化成二进制就是32
取反都是0,0取反就是1。就像 bool 只有真假一样。if语句会把有符号转成无符号,所以取反非0的有符号数都是false。 代码语言:javascript 复制 #include"stdio.h"#include"stdlib.h"/* * 二进制数格式输出,输出所有位 * 6bit * 011010 * 100000 1<<5 * & * */voidprint_bin(int number){int bit=s...
如果0代表32位int的话,取反后就是 11111111 11111111 11111111 11111111,上边的二进制如果代表有符号...
你是指 !0 这样么?这样的话是 1,没有运算过程,这是规定,对0取反就是1,对非0取反就是0
在C语言中,"~"运算符表示按位取反。若0代表32位整数,取反后:结果是11111111 11111111 11111111 11111111。若此结果表示有符号整数,对应值是-1。若表示无符号整数,对应值为2^32 - 1。
51CTO博客已为您找到关于c语言:0的按位取反结果的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及c语言:0的按位取反结果问答内容。更多c语言:0的按位取反结果相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
为什么在c语言中对0进行取反会得到ffffffff 来自匿名用户的提问 回答 最佳答案 一个f是4位,那么8个就是32位了,这是存储字节的问题,跟数据类型和操作系统有关32位的0就是00000000这个是十六进制的032位的非0就是全为1那就是ffffffff十六进制,化成二进制就是32个1 2017-04-19 抢首赞 更多回答(1)©...
c语言:0的按位取反结果 0的按位取反结果是多少? #include<stdio.h> intmain() { inti = 0; intn = ~i; printf("%d\n", n);//-1 return0; } 结果: -1 请按任意键继续. . . 注: 00000000 00000000 00000000 00000000 1111111 11111111 11111111 11111111//在二进制里面表示-1...