C语言二进制,原码补码反码

1.表示一个二进制正数5,0b 101,

通常8位1字节,这里需要引入原码 反码 补码的概念

8位下,101补全的表示方法是0000 0101;其中最左侧表示符号位。0表示正数,1表示负数;证书的原码,反码和补码都是一样的,俗称三位一体;

如果2字节表示二进制5,就是0000 0000 0000 0101

2.表示一个二进制负数5,-0b 101,

8位下表示原码方式:1000 0101,最左侧的1表示符号位(负数);

如果用2个字节空间表示就是1000 0000 0000 0101;

负数的反码就是符号位不动,其他位按位取反,1变0,0变1;上边的反码表示就变成1111 1111 1111 1010;

在反码的基础上再加1就表示当前负数的补码,1111 1111 1111 1011;

3.无论正数负数,在内存中都是以补码形式存储的

计算机是先开辟存储空间再进行存储的,下边有个例子;

正1和负1在计算机中的存储方式为 0000 0001 (正1)

                                                            1111 1111(负1),

如果两个数相加,就是 1 0000 0000,在计算机中2个8位相加,得到的还是8位,最左边的第九位(1)就舍去,得到的是0;

4.在计算机中已知补码,求反码的操作是对补码取反码在取补码,就得到原码,

1110 1011(补码)

1001 0100(反码)

1001 0101(原码)-21

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 在计算机内,有符号数有3种表示法:原码、反码和补码。 在计算机中,数据是以补码的形式存储的,所以补码在c语言...
    小辰带你看世界阅读 7,856评论 0 1
  • 1.编译程序(1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a.o...
    萌面大叔2阅读 5,110评论 0 1
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...
    yang2yang阅读 6,895评论 1 13
  • 1.编译程序 (1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a....
    萌面大叔2阅读 3,486评论 0 1
  • 传统文化这座大宅子,可继承的东西实在不少。有人拿走字画和古玩,有人顺走了姨太太和烟枪。 今年暑假里,一个朋友很郑重...
    第六只眼阅读 4,243评论 2 3

友情链接更多精彩内容