>> <<0xf 等用法

    xiaoxiao2021-12-14  23

    一、>> 这是C语言中的“右移运算符”。一般情况下,他是按位操作。 特点:1.双目运算符,就像+、-、*、/一样,格式为(数1)>>(数2) 2.数1是被操作数,如被减数、被除数等;数2是右移位数。 3.优先级低,结合性:从左向右运算 如:8>>1=?表示将被移数向右移动1位 如何操作? 1.化十进制数为(注意了)对应的二进制数,对应指格式对应 2.通通右移,正数左补0,负数左补1,右边丢弃 3.化为十进制数 举例:short int a=8;a=a>>1; 1.a=0 000 1000 2.右移一位后:a= 0 000 100 3.补0:a=0 000 0100 4.化为十进制数:a=4 举例:int a=8;a=a>>1; 1.a=0 000 0000 0000 1000 2.右移一位后:a= 0 000 0000 0000 100 3.补0:a=0 000 0000 0000 0100 4.化为十进制数:a=4 二、<< 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。 例:a = a << 2 将a的二进制位左移2位,右补0, 左移1位后a = a * 2; 若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。 三、0xf 0xf0 0xff 0x7f等表示 注意:千万不要被表象所疑惑,直接转换成二进制即可 1、0xf:(第一种转换方式:先转换成十进制,再转换成二进制) 16进制的f转成10进制为15 , 15转换成二进制为 0000 1111 2、0x7f:(第二种转换方式:16进制直接转换成二进制) 1)7:转换成二进制为:111, 放在最后结果的高4位,即:0111 2)f : 转换成二进制为: 1111,放在最后结果的低4位,即:1111 3)将最后结果合起来:0111 1111
    转载请注明原文地址: https://ju.6miu.com/read-963818.html

    最新回复(0)