永发信息网

C语言基础题:d1=~a的意思不就是按位取反么?不就是把0变1,1变0么?为啥又负数补码还原求原码

答案:1  悬赏:0  手机版
解决时间 2021-01-10 01:33
C语言基础题:d1=~a的意思不就是按位取反么?不就是把0变1,1变0么?为啥又负数补码还原求原码
最佳答案
~a表示将a按位取反,a是一个变量 , 至少要有1个字节(char),而一个字节有8位!
计算机中存储的整数,都是按补码存放的,规定:正数的补码与原码相同,负数的补码为其原码的反码+1。 所以,当a是负数时,计算~a的结果是要求补码的。

如:
char a=7 ; (00000111)

~a = 11111000
转换成原码为:
反码:11111000 - 1 = 11110111
原码:10001000= -8追问

您举例的最后一步是+1吧就是~是按位取反的意思,当我按位取反后,第一位符号位是1,也就是说明此数是负数,那这个解析怎么又给取反再+1呢?好晕啊(⊙o⊙)追答我举例的是从补码转成原码,所以,要先减1
请上机练习,去体会结果。
你书上-1的计算写的好象有问题(少了一个0)!
书上是另一种计算方法(将补码取反,再加1:结果是相同的,但过程不合理)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
以快写一篇议论文不少于700字题目自拟
友谊宾馆(安阳汤阴县)地址在哪,我要去那里办
口袋妖怪银魂墨海马在双子岛哪个漩涡(用好钓
表示宽敞的词语
新鲜黄瓜怎么做黄瓜钱
有办理了29冰淇淋套餐的吗,你们预存的话费
“商家正通知中通快递揽件”是什么意思
三人合作共投资八十万,一个投资了四十万,一
去韩国当练习生家境要很好吗
为什么男生主动把衣服借给女生
如何看电脑支持opengl3.3
如何用机器转账汇款
九天的新生儿喝着奶就睡,放下就醒怎么回事
浙江京建投资管理有限公司的法人是谁?
光明宾馆(安阳汤阴县)地址在哪,我要去那里办
推荐资讯
求一电视剧央视8套播出过,后来可能是禁播了
高山流水是古筝几级的曲子
酒精灯是化学实验室常用的基本仪器,下列不能
现在新建的寺庙是不是依旧大规模的使用木材
两个相邻自然数的倒数之和是110/21.求这
电脑版生化危机4在哪里下得到中文版的
新都哪里有夜大啊?
终于存够钱买电话了W810和W850哪款好?
想用海螺丝壳做一件送给男朋友的生日礼物。各
石材浅色黑劲怎么处理
石家庄共交车几号到几号免费 今年
户外旅行中怎样吃水果
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?