当前位置: > 财经>正文

获取二进制数中bit位的值示例(移位、与操作) 黄金期货股票代码是多少位数字的啊怎么看

2023-08-26 11:10:37 互联网 未知 财经

获取二进制数中bit位的值示例(移位、与操作)

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”

一个字节通常包括8个位即1Byte=8Bit。我们可以将这8位从左到右看作是从7到0。在字节中,位7称为高位,为0称为低位

操作符:

1、and 操作,操作符“&”

定义:称为按位与运算符。它对整型参数的每一个二进制位进行布尔与操作,即两个对应的二进制位同时为1时,才等于1。

2、操作符“|”

定义:称为按位或运算符。它对整型参数的每一个二进制位进行布尔或操作,即两个对应的二进制位,任意一个为1时,就等于1。

3、操作符“^”

称为按位异或运算符。它对整型参数的每一个二进制位进行布尔异或操作,即两个对应的二进制位,有且仅有一个为1时,才等于1。

4、操作符“~”

定义:称为按位非运算符。它是一个单运算符,对运算数的所有二进制位进行取反操作。

5、操作符“”

定义:称为按位右移运算符。它把第一个运算数的所有二进制位向右移动第二个运算数指定的位数。为了保持运算结果的符号不变,左边二进制位补 0 或 1 取决于原参数的符号位。如果第一个运算数是正的,运算结果最高位补 0;如果第一个运算数是负的,运算结果最高位补 1。将一个数向右移动N个二进制位相当于将该数除以2的N次方

以0开头的整数是八进制数

以0x开头的整数是十六进制数

下面是一个C++简单示例,我想取十进制 2 中 bit6-bit5 的值进行判断:

十进制 2 二进制表示为  0 0 0 0 0 0 1 0   (bit7 - bit0)高位在前 ,取 bit6-bit5 的值 0 0 0 0 0 0 1 0 

就是红色00,再 进行判断 (00-A  01-B 10-C 11-D)

vector arr = {0, 1, 2};int a = arr[2];int P = a >> (5)) & 0x03;string PB1 = "";if(P == 0) {//00 PB1 = "A ";} else if(P == 1){//01 PB1 = "B ";} else if(PB1bit65 == 2){//10 PB1 = "C ";} else if(PB1bit65 == 3) {//11 PB1 = "D ";​​​​​​​}

0 0 0 0 0 0 1 0   >>5 (右移5位 )  0 0 0 0 0 0 1 0   灰色位去掉,原来的第五位就到了第0位。再 与操作  & 0x03  (0011)   就是取两位bit6和bit5 值为00, p=0   所以PB1 = A   

(取1位 就是 & 1 ) strcmp() 比较字符串 == 比较的是指针 不会相等

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。