首页 > 代码库 > c语言中的原码,补码,反码的小结。
c语言中的原码,补码,反码的小结。
1.正数(符号位为0)的原码=反码=补码。
2.负数(符号位为1)由原码到补码:原码符号位1不变(即先求绝对值的原码,将符号位变为1),其余取反,得到反码,再加1,得到补码。
重点:补码的表示方式有8位2进制,16位,32位,64位,这与c语言关键字表示的数值范围有关系。
3.对一个整数的补码再求补码,等于该整数自身。
4.模的概念:略。
例子:时钟的计量范围为0到11,模为12。表示n位计算机计量范围为0到2^(n)-1,模为2^(n)。
在以模为12的系统中,加8和减4效果都是一样的,它们互为补数,类似的,补数推广到计算机,便是补码,可将减法变为加法。
5.已知一个数的补码,求原码:(1):符号位为0,表示正数,原码即补码。(2):符号位为1,表示负数,求补码的补码就是原码。
例子:补码11111001,表示负数,符号位不变,其余取反加1,得到10000111(-7)。
6.补码的真值:若要对一个负2进制补码求真值,将补码全部取反加1。
例子:2进制:10111111(-65的补码) 各位取反:01000000 加1:01000001(+65)
c语言中的原码,补码,反码的小结。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。