WeStudio技术社区

 找回密码
 立即注册

快捷登录

QQ登录

只需一步,快速开始

查看: 638|回复: 0

位操作

[复制链接]

99

主题

142

帖子

1046

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1046
发表于 2022-9-6 12:56:03 | 显示全部楼层 |阅读模式
本帖最后由 hixon 于 2022-9-6 12:58 编辑

1、获取某位:移位和与操作
  1. device.io.com0.onReceive = function(count) {
  2.     var data = this.read();
  3.     // 通过移位和与操作获取位
  4.     var bit0 = data[0] & 0x01;
  5.     var bit1 = (data[0] >> 1) & 0x01;
  6.     var bit7 = (data[0] >> 7) & 0x01;
  7.     // 通过String.toString(2)方法,以二进制显示data[0]的值
  8.     util.console.log('data[0] ' + data[0].toString(2));
  9.     util.console.log('bit0: ' + bit0);
  10.     util.console.log('bit1: ' + bit1);
  11.     util.console.log('bit7: ' + bit7);
  12. };
复制代码
2、设置某位为0:用与操作
  1. ui.main.textButton.onRelease = function() {
  2.     var value = 0xFF;
  3.     util.console.log('value1: '+ value.toString(2)); // 11111111
  4.     value &= 0xF7; // 修改第3位(最低位是第0位)的值为0
  5.     util.console.log('value2: '+ value.toString(2)); // 11110111
  6. };
复制代码

3、设置某位为1:用或操作
  1. ui.main.textButton.onRelease = function() {
  2.     var value = 0xE0;
  3.     util.console.log('value1: '+ value.toString(2)); // 11100000
  4.     value |= 0x08; // 修改第3位(最低位是第0位)的值为1
  5.     util.console.log('value2: '+ value.toString(2)); // 11101000
  6. };
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|物一世(北京)科技有限公司 ( 京ICP备20025895 )

GMT+8, 2024-6-15 02:44 , Processed in 0.012341 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表