c语言中,short(0xffff)等于–1。那我定义变量 a 的时候,我定义的不是原码么?
答案:4 悬赏:50 手机版
解决时间 2021-02-28 06:10
- 提问者网友:且恨且铭记
- 2021-02-27 12:36
那我定义a=short(–0xffff)时,那我定义时,定义的是补码么?
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-02-27 13:09
是这样的 你定义的 0xffff 不是补码 是你要存的负数-32767
因为是负数所以在内存中以补码方式存放
所以0xffff 转成补码
取反码 0x8000
补码再加1 =0x8001 -1
因为是负数所以在内存中以补码方式存放
所以0xffff 转成补码
取反码 0x8000
补码再加1 =0x8001 -1
全部回答
- 1楼网友:英雄的欲望
- 2021-02-27 15:17
区分两个概念:数在内存中的存储形式及数在屏幕上的显示形式。
0xffff是-1在内存中的存储形式,是-1的补码;-1是数在屏幕上的显示形式。
- 2楼网友:空山清雨
- 2021-02-27 14:15
在计算的内存中的数据:都是以补码的形式存储,但是和你的定义无关,他会将你现在的数据转换成补码进行存储
- 3楼网友:枭雄戏美人
- 2021-02-27 13:17
补码是数据存储在内存中的格式,不是你写的格式。所有数据在计算机中都是以补码的形式存储的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯