C语言为什么被人们称为表达式语言_c语言中’0’是什么意思

C语言为什么被人们称为表达式语言_c语言中’0’是什么意思今天无意中敲下:#includeintmain(){printf(“~0==%d\n”,~0);}输出结果是~0==-1;为什么呢?我个人的大概理解如下(不保证对错):以下假设为32位系统;0的补码是0x00000000;~0则是:0xFFFFFFFF(~是按位取反,包括不好位,跟“取反”不是一个概念)0xFFFFFFFF的原码是0

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天无意中敲下:

#include <stdio.h>
int main()
{
    printf("~0 == %d\n", ~0);
}

输出结果是~0 == -1;
为什么呢?

我个人的大概理解如下:
以下假设为32位系统;
0的补码是0x00000000;
0则是:0xFFFFFFFF(是按位取反,包括符号位,跟“取反”不是一个概念)
0xFFFFFFFF的原码是0x80000001即-1;
所以~0 ==-1;

由此也可以解释
~1 == -2;
~2 == -3
。。。。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191277.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 安装whl文件「建议收藏」

    python 安装whl文件「建议收藏」python安装whl文件使用场景:在terminal中通过pipinstall命令进行第三方模块安装时,由于网络获其他原因会使得第三方模块下载失败,导致安装失败。此时,我们可以先通过下载网址将第三方模块包手动下载到本地,再手动进行安装。许多第三方模块包为whl文件,这就…

    2022年5月30日
    63
  • LevelDb实现原理

    原文网址:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html郑重声明:本篇博客是自己学习Leveldb实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可…

    2022年4月8日
    40
  • 无法解析的外部符号的几种可能

    无法解析的外部符号的几种可能参考:https://blog.csdn.net/educast/article/details/12491473,补充了一项1. lib文件未引入。可使用“#pragmacomment(lib,“winsock.lib”)”语句添加lib引用,也可在项目依赖里添加。2. 类方法的实现未加类标识。如,“CTest::Connect(void){…}”写成了“Conn…

    2022年6月28日
    29
  • Java代码实体类生成SQL语句(Java实体类转数据库)

    Java代码实体类生成SQL语句(Java实体类转数据库)有的时候把数据库删了,如果照着实体类重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体类转换为SQL语句输出为一个文件,打开执行命令即可。代码如下:packageMain;importjavax.xml.bind.annotation.XmlElement;importjava.io.*;importjava.lang.annotation.Annotation;importjava.lang.reflect.Field;p.

    2022年5月6日
    231
  • viewstate解密

    viewstate解密看完之后,觉得能不用viewstate就不用,再者像这样viewstate[“a”]=”b”;这种简单的赋值是没有什么关系的,它生成的树是很小的,altas一定是用js修改了viewstate的,但方法肯定是加密再加密的,效率也应该很低. ViewState是.Net中提出的状态保存的一种新途径(实际上也是老瓶装新酒);我们知道,传统的Web程序保存状态的方式有这样几种: 1、Appli

    2022年7月21日
    24
  • mysql文件导入sqlserver_mysql导入sql文件命令

    mysql文件导入sqlserver_mysql导入sql文件命令问题来源有的时候,在使用MySQL数据库建表时,可能不需要直接在mysql数据库中建表,而需要导入外部已有的数据库表文件,方便我们使用。那么导入的方法呢?这里介绍一个很普遍也很简单的方法,步骤如下:导入步骤打开MySQL数据库,黑窗界面,如图:这里输入密码‘root’,回车。。。先确定你要建立的数据库名字,比如这里我新建数据库名字叫“house-01”,如下图。(说明:如果sql文件的内容中有创建数据库的语句,或者想将表存放在已有的数据库,在这里就不需要再创建数据库。即直接使用已经

    2022年10月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号