C语言基础 源码,反码,补码举例

#include<stdio.h>
int main(){
	//首先右边是个int类型的整数,写出它的源码,反码,补码。然后改为char类型,最后输出的%d是打印十进制的有符号数字,所以把缺的位置补上,再通过补码写出源码
	//源码首位表示符号位,0为正数,1为负数,正数的源码,反码,补码都一样,负数的反码是源码符号位不变,剩余位按位取反,补码是在反码基础上加1
	char a=-1;
	//10000000 00000000 00000000 00000001 源码
	//11111111 11111111 11111111 11111110 反码
	//11111111 11111111 11111111 11111111 补码
	//11111111 改为char类型的值,因为是有符号,1代表符号,缺的位补1
	//11111111 11111111 11111111 11111111 补全后的补码
	//最后输出的是源码,所以补码再次返回成源码,结果还是-1
	signed char b=-1;
	//有符号数结果同上一个,因为默认就是有符号的
	unsigned char c=-1;
	//11111111
	//00000000 00000000 00000000 11111111
	//因为无符号,所以缺的位补0,表示正数,所以结果是255
	printf("a=%d\nb=%d\nc=%d\n",a,b,c);
return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值