美文网首页
二进制运算在编程中的一些常见用法

二进制运算在编程中的一些常见用法

作者: jarhead | 来源:发表于2016-08-19 15:09 被阅读0次

1.用整形值替代布尔值作为逻辑上的开关

举个例子:

int key_up = 1; // 1

int key_down = 2; // 1<< 1

int key_left = 4; // 1<< 2

int key_right = 8; // 1 << 3

int mKey = 0;

void touchKey (int touched) {

    mKey |= touched;

}

bool isTouchedKey(int key) {

    return (mKey & key) != 0;

}

代码逻辑:用mKey这个整型值二进制的最后四位,分别表示上下左右按键是否被按下,

按下时可调用touchKey(key_up | key_down),查询时可用isTouchedKey(key_up).

2.socket通信,从socket连接的输入流中读取数据

举个例子:

从socket连接中读取一个int值

int a = 0;

int byteNum = 4;

for (int i = 0; i < 4; i++)

{

a <<= 8;

byte tmp = bReader.ReadByte();

a |= (tmp & 0x000000ff);

}

代码逻辑:从字节流中循环读取4个字节,并且通过移位和按位或的操作得到int值。

3.加密运算

简单的异或加密,直接使用的是二进制运算中^异或运算符。

4.条件判断

类似这样的代码:

if ((a & 0x7fffff00) == 0) {

    // do something

}

等价于

if (a < 256) {

    // do something

}

相关文章

  • js常见面试题

    instanceof的用法: promise链式编程: 三元运算表达式在常见的循环中怎么使用: switch常见的...

  • 二进制运算在编程中的一些常见用法

    1.用整形值替代布尔值作为逻辑上的开关 举个例子: int key_up = 1; // 1 int key_do...

  • 八、Java中的运算符(二)

    在Java中的运算符(一)中介绍了比较常见的一些运算符,这一节主要围绕一些运算符的用法,以及介绍一些位运算等较复杂...

  • 神奇的二进制

    (在计算机中,数都是二进制来存储的,所以二进制的一些运算要比普通的等价运算(+,-,*,/)更快,更简单,所以知道...

  • date

    Linux date命令的用法 在linux shell编程中,经常用到日期的加减运算以前都是自己通过expr函数...

  • 常用的位运算使用技巧总结

    一些常见的二进制位的变换操作: 注: shr--右移;shl--左移;xor--异或;or--或运算;and--与运算

  • 位运算符

    位运算符有哪些? 位运算符都是操作的二进制 用法&,|,^,~ 的用法 &:有0则0|:有1则1^:相同则0,不同...

  • 运算符

    在编程中会有很多运算符,常见的也有很多,在这里简单做个栗子。 a=8;二进制表示为00001000。 b = 0x...

  • [leetcode刷题笔记]数学与位运算

    位运算是二进制中比较常见的运算,包括按位与&,按位或|,非~,异或∧ 等,本文记录LeetCode刷题一些知识点,...

  • 如何在 JavaScript 中使用管道(管道运算符)?

    管道运算符(|>)在函数式编程中很常见,但他目前还没内置在 JavaScript 中,正处于 TC39 审议的草案...

网友评论

      本文标题:二进制运算在编程中的一些常见用法

      本文链接:https://www.haomeiwen.com/subject/ycebsttx.html