您好、欢迎来到现金彩票网!
当前位置:手机棋牌游戏平台 > 位异或 >

计算机位操作:int abs( int x ) { y ; y = x 31 ; return (x^

发布时间:2019-08-09 21:22 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  2、右移运算为按位往右移的操作,右移1位时最右边的位被丢弃,最高位保持原值不变,其他位都被其左边一位所替换,32位的整数右移31位,即是保留其最高位符号位,即正数得0,负数得-1。如:整数7,其二进制为:0000 0000 0000 0111,右移1位则为:0000 0000 0000 0011,得值为3;

  3、关于负数的二进制表示,计算机中负数存储时,不是简单的将符号位置为1,而是采用补码的形式存储的:负数最高位为符号位,也就是1,其余全部取反,然后再加1。

  4、异或运算^,即两个数按位进行异或,当两个数中相同位相同时结果值对应位为0,否则为1,如3^7,表示为:0011 ^ 0111,则异或后值为:0100 等于4

  2、x^y//X与Y的异或运算,按位进行异或,当y=0时,实际上二者异或后运算的值保持不变,当Y=-1时,则实际上是将原值每位求反(1变成0,0变成1)

  (x^y)-y当Y=0时,表示保持x不变,当y=-1时,则表示将x各位求反后加1,实际上就是对该数求负,由于原来就是负数,因此就是变成正数。

  展开全部1、 右移运算符,右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

  2、补码的绝对值(称为真值),若要得到一个负二进制数的绝对值(称为真值),只要各位(包括符号位)取反,再加1,就得到线、异或,两个值不相同,则异或结果为线、 如果x是负数,y = x 31,表达式的值是-1,注意这里移动31位是因为在32位的计算机里,int型的长度是32位,-1的补码就是32个1,x^y,x与-1按位异或就是把x的各位都与1异或,结果就是把x的各位都取反,-y就是把各位取反以后的x在加1,(x^y)-y 就是求补码绝对值的表达式,见2。

http://lake-macquarie.com/weiyihuo/678.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有