作业帮 > 数学 > 作业

逻辑与,按位与,约简与运算搞不明白

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/14 07:52:37
逻辑与,按位与,约简与运算搞不明白
例如a=4'b0101,b=4'b0011
a&&B=? a||b=?
a&b=? a|b=?
&a=?
这都是怎么运算的
a=8'b0101_1010,b=8'b1111_0000,下列那个表达式可以取出4个搞比特位
A:a&b B:a|b C:a^b D:a
什么是高比特位,低比特位,上面又是怎么算的
逻辑与,按位与,约简与运算搞不明白
我只能部分回答你的问题:
  单说【与】,它是逻辑代数中的概念,是一种【逻辑运算】.另外,还有【或】运算、【非】运算.能够进行逻辑运算的,都得是【逻辑变量(或常量)】——即:取值范围为{FALSE,TRUE}的量.
  【逻辑与】——&&,其实就是上面的【与】的全称;【逻辑或】——||,就是【或】的全称.所以,逻辑与和逻辑或也是【逻辑变量】间的一种运算——至少是可以转化为逻辑变量的量.
  我不知道你的问题属于哪个领域,但在计算机语言中,一般将数值为0的量视为:FALSE;数值非零的量视作:TRUE.逻辑与和逻辑或都有自己的运算规则,一般是通过真值表来定义的.
  你的例子中,a、b均不为零,应都视作:TRUE;那么,逻辑运算的结果就是:
    a&&b=TRUE&&TRUE=TRUE;
    a||b=TRUE||TRUE=TRUE;

  【按位与】——&、【按位或】——|,是对逻辑与、逻辑或的一种扩充.首先,你得明白什么叫做【位】.
  【位】——即【bit】——也即【比特】,是计算机中存储数据的最小单位.【位】上的取值,只能是{0,1}中的值.你的例子中的各种变量,就是以【位】的形式给出的.如:
    a=4′b0101;
  它表示:a是一个4【位】的变量,各个位的取值分别为:0、1、0、1.
  因为【位】的取值只能是{0,1},所以可以很自然地将其对应为{FALSE,TRUE}.这样一来,两个【位】之间,就可以进行【逻辑运算】了.

  而按位与(按位或),就是指:将两个【位】数相同的变量,的每一【位】,对应进行逻辑与(逻辑或)运算,将结果保存为另一个具有同样【位】数的变量.所以,逻辑与、逻辑或,是按位与、按位或的基础.对于本题:
    a&b=4′b{(0&&0),(1&&0),(0&&1),(1&&1)}
       =4′b{0,0,0,1}
       =4′b0001
    a|b=4′b{(0||0),(1||0),(0||1),(1||1)}
       =4′b{0,1,1,1}
       =4′b0111    

  至于【约简与】,我也不懂,帮不了你了.

  我们是用从左到右的一排数字来表示一个数的.在十进制数中,从左到右各个数位分别为:……千位、百位、十位、个位,每位所表示的数值,越来越小.因此,左边的数位称作高位,右边的称作低位.对于二进制数的位——又称比特,就自然相应地称作:高比特位、低比特位.
  因此,所谓“4个高比特位”,就是指变量左边的4位上的数字.因为是对【位】进行处理,自然就要用到【按位与(或)】运算了.根据【逻辑与(或)】的性质:
  任何数,和TRUE(即:1)进行【与】运算,结果都为这个数本身;
  任何数,和FALSE(即:0)进行【与】运算,结果都为FALSE(即:0);
  任何数,和TRUE(即:1)进行【或】运算,结果都为TURE(即:1);
  任何数,和FALSE(即:0)进行【或】运算,结果都为这个数本身;
再看看a、b的取值情况,不难看出:只有在进行【与】运算时,才能保住a的高四位.所以答案就是:A.