学习C语言位运算的概念(原码,反码,补码)

                c语言既具有高级语言的特性,又具有低级语言的功能,尤其是它提供的指针运算位运算,满足了编写系统软件的需要,因而具有广泛的用途和很强的生命,也是C语言能够大部分取代汇编语言的原因之一。---书上写的,我也是这么认为的。

       位运算就是对是进行二进制运算,是对计算机内部的二进制形式数据进行的运算。 C语言提供的位运算只适用于整形或字符型数据不适用于实行数据。一个数有原码,反码和补码三种不同的表示。

   原码:

           数值的原码是指最高位用作符号位,其余各位代表数值本身的绝对值(二进制)的表示形式。符号位为0表示正数为1的表示负数

9的原码:<span style="color:#ff0000;">0</span>000 0000 0000 1001

-9的原码:<span style="color:#ff0000;">1</span>000 0000 0000 1001

反码:

        数值的反码表示有两种情况:正数的反码与原码相同;负数的反码为该数的绝对值的原码各位取反(0变为1,1变为0)。

 9的反码:0000 0000 0000 1001 本身

-9的反码:1111 1111 1111 0110 加1

补码:

        数值的补码也有两种情况:正数的补码与反码形同;负数的补码为其反码加1。

 9的补码:0000 0000 0000 1001

-9的补码:1111 1111 1111 0110

总结:原码最高位是符号位,正数的原码,反码,补码相同。负数的反码为该数绝对值取反(符号位不算),补码是反码加1。


  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值