首页 > 编程语言 >2022-2023-1 20221421 《计算机基础与程序设计》第十三周学习总结

2022-2023-1 20221421 《计算机基础与程序设计》第十三周学习总结

时间:2022-11-25 21:34:18浏览次数:67  
标签:右移 0000 运算 二进制 20221421 左移 二进制位 2022 2023

作业信息

班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13
作业正文:2022-2023-1 20221312 《计算机基础与程序设计》第十三周学习总结 - 221421李旻奇 - 博客园 (cnblogs.com)

我们都知道计算机内部是以补码形式存放数值的。利用C语言可以实现对二进制位的操作,现在学到这里C语言程序设计与计算机科学概论串联起来了;

程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。运位算包括位逻辑运算和移位运算,位逻辑运算能够方便地设置或屏蔽内存中某个字节的一位或几位,也可以对两个数按位相加等;移位运算可以对内存中某个二进制数左移或右移几位等。

首先原则低位对齐,高位补零。

按位与的定义是:同一二进制位上的数字都是1的话,&的结果为1,否则为0.

利用它有几个比较有意思的用法比如屏蔽具体操作是:将原二进制数与上0就可以了。0的位数对应原二进制数的位数,对各位进行屏蔽,全部置0;

​ 0000 1111 & 0000 0011=0000 0011;

而其次&1的话相当于实现了对二进制位的读取操作毕竟&1相当于不变;其实该方法是屏蔽和读取的结合,&0保证消除无用位,&1保证有用数据的完整性。总结:对于原二进制数来说,&0是屏蔽,&1是不变。

按位或定义:只要参与运算的双方其中有一个是1,结果就是1.同0才为0.

例如:1010 0000 | 0000 1111;

结果为 1010 1111;

总结:对于原二进制数来说,|0是不变,|1是置1;

按位异或:只要参与运算的双方互异,结果就为1,否则为0

可以通过上面的定义看到,一个数1的话就会0变成1,1变成0,而0则不对原数进行改变。所以根据此特性可以对特定位进行0 1 反转。

例如: 1100 1100 ^ 0000 1100

结果为 1100 0000.

同样的,如果对一个数进行^0,代表保留原值。

取反(~)

对一个二进制数进行取反。1变0,0变1;

​ 唯一需要注意的一点是,~的优先级是逻辑运算符中最高的,必须优先计算。

左移<<

对运算符<<左边的运算量的每一位全部左移右边运算量表示的位数,右边空出的位补0。

左移<<的原则是高位舍弃,低位补零。

例:char a=0x21;

则a<<2的过程 0010 0001〈〈2 = 1000 0100;即 a<<2的值为0x84。

左移1位相当于该数乘以2,左移n位相当于该数乘以2n。

右移>>

运算规则:对运算符>>左边的运算量的每一位全部右移右边运算量表示的位数,右边低位被移出去舍弃掉,空出的高位补0还是补1,分两种情况:

(1)对无符号数进行右移时,空出的高位补0。这种右移称为逻辑右移。

(2)对带符号数进行右移时,空出的高位全部以符号位填补。即正数补0,负数补1。这种右移称为算术右移。

右移1位相当于除以2,同样,右移n位相当于除以2n。

除法运算转化成位运算 (在不产生溢出的情况下)

a / (2^n) 等价于 a>> n

取模运算转化成位运算 (在不产生溢出的情况下)

a % (2^n) 等价于 a & (2^n - 1)

循环移位的实现

标签:右移,0000,运算,二进制,20221421,左移,二进制位,2022,2023
From: https://www.cnblogs.com/lmq221421/p/16926407.html

相关文章

  • day20221125周五今天学了什么知识?节约时间 seize the time
    day20221125周五今天学了什么知识?节约时间seizethetime买纯牛奶。 公司的网不能看课的话,那就下载下来看。自己没钱,存钱。然后吃蔬菜对身体好。节俭和勤劳是美德。......
  • NOIP2022 游记
    Day0摆烂。Day1来到了考场床,开始睡觉。睡了一上午,醒来之后发现已经12:30了,赶紧开题,发现没题,剩下的时间就睡觉了。期望得分0+0+0+0=0。不过CCF数据水,......
  • 2022NOIP A层联测35(结局)
    T1:《弹珠游戏》\(n\)个人,\(3n\)个弹珠,分别为\(R,G,B\),每个人三种颜色分别取一个,不满意度为编号极差,求所有人不满意度和最小时的方案数。壮压计数,至于之前每种颜色的......
  • 2022.11.21-27 训练小记
    2022/11/21-27训练小记CF1761D.CarryBit赛时感觉很不可做,对着题解想明白的qwq下文起用\(a_i,b_i\)表示其二进制表示下的第\(i\)位(1-indexed)。人类智慧地想到记......
  • HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)
       11月4日-11月6日,HDC2022在东莞成功举办,这是一场大规模落地的思维与技术的碰撞,众多业内专家到场,共话未来。其中,开发者主题演讲围绕增强的声明式开发体系,通过一个De......
  • HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)
     11月4日-11月6日,HDC2022在东莞成功举办,这是一场大规模落地的思维与技术的碰撞,众多业内专家到场,共话未来。其中,开发者主题演讲围绕增强的声明式开发体系,通过一个Demo......
  • CSP-S 2022 题解
    CSP-S2022题解前言由于打的肽粉了,NOIP考前补了一下题。T1:假期计划题目链接:luoguP8817题目大意给你一个无向图,然后要你规划出一条路径,其中起点和终点都是1号点,......
  • P8775 [蓝桥杯 2022 省 A] 青蛙过河
    简要题意有一只青蛙在\(1\)处,有一些石头,位于\(2,3,4,\cdotsn\),它们的高度是\(H_2,H_3,\cdots,H_n\)。青蛙每落一次石头,该石头的高度就会\(-1\),直至高度为\(0\),此时......
  • 【涸】2022.11.25
    之前刚刚想着自己写的东西比起闲话更像是流水账好家伙,你时令河啊?这么快?AwayfromOI?×AwayfromOrsay!√乐不得不点评一下这个春季赛:我当着家长的面不好说,春......
  • 极智穷思,数往知来 | 2022年11月《中国数据库行业分析报告》精彩抢先看
    为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况,从2022年4月起,墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数......