龙空技术网

负数的二进制

谁的大数据 353

前言:

而今姐妹们对“c语言负数0至31化二进制的代码”大概比较注意,看官们都需要分析一些“c语言负数0至31化二进制的代码”的相关内容。那么小编同时在网络上汇集了一些有关“c语言负数0至31化二进制的代码””的相关内容,希望姐妹们能喜欢,姐妹们一起来了解一下吧!

提起二进制,基本的概念大家都知道,计算机语言由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

得到其补码

标签: #c语言负数0至31化二进制的代码 #c语言负数转二进制代码