【c语言】解释为什么32767+1=-32768_32767+1为什么是-32768-程序员宅基地

对于c语言来说,其存储数据的格式是按照其补码的形式存放的,只不过正数的补码等于其数字本身,因此,在刚开始,就要以补码的角度来思考问题,且计算机内部默认为是有符号类型的数字。

对于16位的二进制来说,其默认的有符号数据范围是:—32768~~32767。

对于32767加1,可得32768,超出了有符号整型变量的数值范围,

32767在计算机中的存储形式:0111    1111    1111   1111

令其加1:可得——》               1000     0000   0000   0000

可以这样想:32767和加1后得到的数据都是以补码形式存放在内存中的,只不过32767这个正数的补码与其原码是一样的,那么加1后得到的1000 0000 0000 0000这个补码与原码一样吗?

因为是有符号数,所以最高位表示符号位,而加1后的最高位为1,因此,首先确定这个数是个负数,再确定其数值大小,按照原码求补码的反顺序来求,因此,先对这个数减1,得——》》0111 1111 1111 1111,再取反,——》》1000 0000 0000 0000,这个原码表示的大小是32768,又因为是负数,所以为-32768

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42211203/article/details/88313849

智能推荐

HDU-1753 大明A+B,小数A+B_小数a+bc语言-程序员宅基地

文章浏览阅读117次。话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。Input本题目包含多组测试数据,请处理到文件结束。每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。Output请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。Sample Input1.1 2.91_小数a+bc语言

Java中如何将List拆分为多个小list集合_java把list分成多个list-程序员宅基地

文章浏览阅读2w次,点赞11次,收藏19次。文章目录一、如何将List拆分为多个小list写在前面:我是「境里婆娑」。我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在心中信念丝毫未减,眼前这个少年,还是最初那张脸,面前再多艰险不退却。写博客的目的就是分享给大家一起学习交流,如果您对 Java感兴趣,可以关注我,我们一起学习前言:在平常写代码时候可能会遇到需要将一个大list拆分多个小list,进行一些业务处理。一、如何将List拆分为多个小list如何将List拆分多个小list,首先我们需要list.sublist这个方法_java把list分成多个list

SQL Server如何附加只有mdf的数据库文件(丢失ldf)_只复制了ndf 没复制ldf文件怎么附加-程序员宅基地

文章浏览阅读2.4k次。有时候SQL Server意外断电会导致SQL Server的ldf日志文件丢失或者损坏,这个时候你如果直接附加mdf文件到SQL Server会失败,这里提供一个方法可以还原只有mdf的数据库文件,这里我们假设你要还原的数据库文件是YourDB.mdf首先在SQL Server中创建一个同名的数据库,叫[YourDB]。 然后停止SQL Server的数据库引擎服务(通过配置管理器停止服务..._只复制了ndf 没复制ldf文件怎么附加

MTK modemlog分析_mtk modem 分析-程序员宅基地

文章浏览阅读5.6k次,点赞4次,收藏53次。Call流程无论是在CS还是ims域看掉话问题首先先分析是否校准以及写入IMEI号在 kernel-3.18及其以前的老平台中可以通过随机接入来分析DUT是否有校准,如果信号还算良好,但频繁随机接入失败。那么可能是没有校准或rf参数本身有问题。典型log如下1403508, 947548, 884529, 18:05:45:610 2018/02/27, MOD_UMAC, , TRACE..._mtk modem 分析

webpack Dev Server Invalid Options options should NOT have additional properties 解决办法-程序员宅基地

文章浏览阅读4.7w次,点赞4次,收藏4次。出现上面问题的原因是webpack.config.js中config.devServer 配置出现了问题const config = { ...}if(isDev) { config.devServer = { port: 8000, host: '0.0.0.0', overlay: { errors: true,..._webpack dev server invalid options

使用c++简单实现reactor模式_c++设计模式reactor-程序员宅基地

文章浏览阅读5.4k次。转载地址:http://blog.csdn.net/baidu20008/article/details/41378761事件驱动模型广泛地应用于高性能的web服务器中。而相对应的事件处理模式,最为典型的就是Reactor模式(中文可以称作“反应器” “反应堆”等等,各种叫法都不一样,估且就使用英文吧,叫它Reactor模式)和Proactor模式(中文也称“主动器” “前摄器”,同前者一样称_c++设计模式reactor

随便推点

Linux数据文件自动迁移,linux下增加磁盘改变指定文件路径分区挂载点和迁移数据...-程序员宅基地

文章浏览阅读243次。Centos7 系统上原有目录/data 挂载根目录下,空间有点小,我们需要把/data目录挂载到另一个磁盘,同时把数据迁移。1.查看分区情况fdisk -l2.查看路径对应分区情况df -l3.查看分区文件格式df -T -H4.给指定磁盘分区fdisk /dev/vdaCommand (m for help) nprimary partition (1-4) pPartition number..._linux 移动文件会改变文件的挂载点吗

Objective-C_oc语言输出程序-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏3次。OC介绍文章目录前言 一、OC是什么? 二、第一段OC代码 三、OC基本介绍前言Objective-C是一种面向对象的C语言,本质还是C语言,兼容C和C++​​​​​​​ 简称:OC提示:以下是本篇文章正文内容,下面案例可供参考一、OC是什么?Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用..._oc语言输出程序

autossh不生效_背景中的autossh不起作用-程序员宅基地

文章浏览阅读836次。我已经通过autossh建立了一个隧道.这有效:autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected]我想在后台运行autossh.使用-f选项似乎很容易.但是,这不起作用:autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myh..._autossh -r 访问不了

hadoop学习--hbase0.96整合到hadoop2.3.0安装过程_hbase-common-2.2.4.jar-程序员宅基地

文章浏览阅读744次。问题导读1.hbase安装在什么情况下会发生,启动之后自动宕机2.hbase安装目录该如何选择?3.hbase目录如果出现权限不一致,会发生什么情况?4.如果只有一个节点有临时目录会出现什么情况?_hbase-common-2.2.4.jar

gmssl生成的国密证书解析_gmssl 生成base64-程序员宅基地

文章浏览阅读3.1k次。国密认证遇到的一些问题记录:gmssl生成的key文件解析:gmssl生成的SM2证书文件解析:_gmssl 生成base64

深大uooc学术道德与学术规范教育第七章_关于伪造科研数据下列说法错误的是-程序员宅基地

文章浏览阅读7.8k次。一、单选题 (共 90.00 分)1.关于学术造假,下列说法是不正确的是( )A.指伪造、修改研究数据和资料等学术腐败行为B.通常是由研究者学风浮躁和急功近利所致C.为了令理论假设成立,加工和筛选数据并不是造假D.是一种违背学术道德和科学精神的表现满分:15.00 分得分:15.00 分你的答案:C正确答案:C教师评语:暂无2.资料分析中的失范行为往往也被称为学术造假,下列情况不属于学术造假的是( )A.筛选数据B.整理数据C.加工数据D.伪造数据满_关于伪造科研数据下列说法错误的是

推荐文章

热门文章

相关标签