急求 c语言>>= 双目运算符 dat >>= 1; 是什么意思 详细过程

如题所述

移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

所以dat>>=1也就是dat = dat>>1相当于dat除以2
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-14
右移运算符,dat>>=1也就是dat = dat>>1,表示dat向右移一位
第2个回答  2017-06-14
dat >>= 1;//dat=( dat >> 1 );我靠,你们抢题也太快了吧
第3个回答  2017-06-14
右移后赋值,等同于 dat = (dat>>1);

急求c语言>>= 双目运算符 dat >>= 1; 是什么意思 详细过程
所以dat>>=1也就是dat = dat>>1相当于dat除以2

C语言中>>=什么意思
这个叫做算术右移,<<=是算术左移,1表示右移1位,随便找个C的书上应该就会有介绍的

C语言AT89C51 dat >>=1 问题
把dat表示成2进制数若dat=8二进制数位1000B dat>>=1后dat=4二进制位0100B >>是右移的意思按二进制,对数值大小来说就是除以2.

c语言 a>>=1
a>>=1; \/\/a现在:0010 变成2;即a = 2;

c语言编程时“|”表示什么?
在C语言中 |表示位异或(双目运算符即两个变量)举例:011110 000100 --- 011010 &表示按位与(双目运算符即两个变量)举例:011110 000100 --- 000100 ||逻辑或运算,&&逻辑与运算 用于自述表达式 若有错误,请旁人更正!

请问c语言中->是什么意思?
-> 表示某个指针所指向的内存空间

C语言中FILE*fp是什么意思
FILE 是系统定义的一种结构类型的名称。FILE *fp; 变量类型声明。声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)。文件流-- 排成一队,有先后次序的 输入(或输出)一串数据,驻留并通过 输入输出缓冲区,进出程序。如同水流般地流入或流出。它来自文件或写入文件。

c语言中的EOF是什么意思?
EOF是End Of File的意思,在C语言中定义的一个宏,用作文件结束标志。从数值角度看,就是-1。从一个终端的输入从来不会真的“结束”(除非设备被断开),但把从终端输入的数据分区成多个“文件”却很有用,因此一个关键的序列被保留下来来指明输入结束。在UNIX和AmigaDOS中,将击键翻译为EOF的过程...

C语言中a->s[i]与a[i].s的区别
a->s[i]是a地址上的结构体成员变量s的第i个元素。写成非指针的方式,就是a[0].s[i];这种写法,要求a和s都必须是指针类型。a[i].s是a地址上,第i个a中的成员变量s。这种写法,要求a必须是指针,而s不一定是指针。对比a[0].s[i]和a[i].s,可以看出,这两个是完全不同的意义。

急求c语言>>= 双目运算符 dat >>= 1; 是什么意思 详细过程
移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出...

相似回答
大家正在搜