上海龙凤419

C说话

C说话位运算的根本常识

时候:2024-05-27 10:26:48 C说话 我要投稿

C说话位运算的根本常识

  法式中的一切数在计较机内存中都因此二进制的情势贮存的,位运算便是间接对整数在内存中的二进制位停止操纵。上面清算了一些C说话位运算的根本常识,一路来看看!

C说话位运算的根本常识

  一、 位运算符

  在计较机中,数据都因此二进制数情势寄存的,位运算便是指对存储单位中二进制位的运算。C说话供给6种位运算符。

  二、位运算

  位运算符 & |~<< >> ∧ 按优先级从高到低摆列的挨次是:

  位运算符中求反运算“~“优先级最高,而左移和右移不异,居于第二,接上去的挨次是按位与 “&“、按位异或 “∧“和按位或 “|“。挨次为~ << >> & ∧ | 。

  例1:左移运算符“<<”是双目运算符。其功效把“<< ”左侧的运算数的各二进位全数左移多少位,由“<<”右侧的数指定挪动的位数,高位抛弃,低位补0。

  比方:

  a<<4

  指把a的各二进位向左挪动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。

  例2:右移运算符“>>”是双目运算符。其功效是把“>> ”左侧的运算数的各二进位全数右移多少位,“>>”右侧的数指定挪动的位数。

  比方:

  设 a=15,

  a>>2

  表现把000001111右移为00000011(十进制3)。

  应当申明的是,对有标记数,在右移时,标记位将伴同挪动。当为正数时,最高位补0,而为正数时,标记位为1,最高位是补0或是补1 取决于编译体系的划定。

  例3:设二进制数a是00101101 ,若经由过程异或运算a∧b 使a的高4位取反,低4位稳定,则二进制数b是。

  剖析:异或运算经常利用来使特定位翻转,只需使需翻转的位与1停止异或操纵就能够了,由于原数中值为1的位与1停止异或运算得0 ,原数中值为0的位与1停止异或运算成果得1。而与0停止异或的位将坚持原值。异或运算还可用来交换两个值,不必姑且变量。

  如 int a=3 , b=4;,想将a与b的值交换,可用以下语句完成:

  a=a∧b;

  b=b∧a;

  a=a∧b;

  以是本题的谜底为: 11110000 。


【C说话位运算的根本常识】相干文章:

C说话位运算根本常识02-20

C说话的位运算05-31

C说话位运算10-28

c说话位运算符的用法08-27

c说话位运算符的用法指点06-02

C说话运算06-09

C说话位操纵是08-17

C说话中的运算法则10-14

C说话根本常识10-13

C说话位操纵教程08-07