负数的二进制(c语言二进制输出格式符)

提起二进制,基本的概念大家都知道,计算机语言由1和0组成,比如说,一个int类型的数字2对应的二进制

0000 0000 0000 0000 0000 0000 0000 0010

二进制根据其长度,byte的长度为一个字节8位二进制,Int的长度为四个字节32位二进制.

表示一个数的二进制,第一位表示符号位,1表示负数,0表示正数

比如:byte 0000 0001 是一个正数,1000 0001 是一个负数

Int 0000 0000 0000 0000 0000 0000 0000 0010 正数

1000 0000 0000 0000 0000 0000 0000 0010 负数

对于正数来说,原码,反码,补码都是一样的

对于一个负数而言,这里面有一个概念,原码,反码,补码

那怎么求一个负数的二进制呢?

很简单

第一步:首先给这个负数求绝对值 比如-3 对应3

第二步:写出这个绝对值对应的二进制表示

0000 0000 0000 0000 0000 0000 0000 0011

第三步:使用位运算对这个数字取反

1111 1111 1111 1111 1111 1111 1111 1100

第四步:给取反后的这个二进制值加1

1111 1111 1111 1111 1111 1111 1111 1100

+ 1

1111 1111 1111 1111 1111 1111 1111 1101

这时候得到的这个结果就是-3对应的二进制

其中结果

1111 1111 1111 1111 1111 1111 1111 1101

叫-3的原码

原码取反:

0000 0000 0000 0000 0000 0000 0000 0010

得到其反码

最后加1

0000 0000 0000 0000 0000 0000 0000 0011

得到其补码

最新版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如有侵权请联系删除!站长邮箱:121259802@qq.com