左移、右移操作符的简单应用

左移、右移操作符的简单操作

一、 原反补码

1.为什么会需要原反补码?
【来源于别的博客】在加法计算机里,只有加法器,没有减法器,所以,有的减法运算,必须用加法进行。通过被减数的补码代替被减数,可以将减法转变为加法运算。

2.原反补的简单介绍:
原码:数据的二进制
【计算机只能识别0和1,使用的是二进制,在日常生活中,我们用的是十进制,有正负之分,所以,在计算机中就得用一个数的最高位来存放符号位(0为正,1为负)】
反码:[signed]除了符号位以外,其余位按位取反。
【两个整数的加法运算没有问题,但是在面对带符号位负数运算上,出现了问题】
补码:[signed]在反码的基础上,+1
【在补码中,用(-128)代替了(-0),人为规定,补码表示范围是 -128~127 一共256个】
【补码的目的:1.可以使符号位和有效值部分一起参加运算,从而简化运算规则;2.使减法运算转化为加法运算】

3.对原反补的规定:
正数:原反补不变
负数:反码:将原码符号位不变,其余位按位取反;补码:反码加一。

二、左移操作符移位规则

(1)左移操作符【<<】移位规则:
无论是正整数、负整数都服从:左边抛弃,右边补0.**

//正数左移
int main()
{
   
	int num = 100;
	printf("%d", num << 1);  //200
	system("pause");
	return 0;
}
//图解如下:

在这里插入图片描述

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值