美文网首页
iOS-硬件开发之位操作

iOS-硬件开发之位操作

作者: 神SKY | 来源:发表于2017-04-07 09:23 被阅读50次

在开发中,有时候会遇到位操作(bit),有人会问什么是bit?
其实最简单的回答就是1B = 8bit,即一个字节等于8个bit(比特)。
那怎么把8个bit合成1B呢?
看下图



其中每一个方框就是一个bit,每个方框里也只能填0或者1。
那如何将一个Byte里面的bit变成我们想要的呢?
下面举一个例子,假如想要Byte里面的8个bit是11101101,可以这样写:

Byte temp = 1*0x80 | 1 * 0x40 | 1 * 0x20 | 0*0x10 | 1*0x8 | 1*0x4 | 0*0x2 | 1*0x1 ;

有了合成,就肯定有拆分,拆分直接调用小编写的下列方法即可

#pragma mark 拆分byte为bit
- (NSArray *)breakUpByte:(Byte)byte
{
    NSMutableArray *arr = [NSMutableArray array];
    
    while (byte > 0) {
        int i = byte % 2;
        byte = byte / 2;
        [arr addObject:[NSString stringWithFormat:@"%d",i]];
    }
//    判断数组是否含有8个bit
    while (arr.count < 8) {
        [arr addObject:[NSString stringWithFormat:@"%d",0]];
    }
//    数组倒序
    NSArray *temp = [[arr reverseObjectEnumerator] allObjects];
    return temp;
}

希望对各位看官们有所帮助

相关文章

  • iOS-硬件开发之位操作

    在开发中,有时候会遇到位操作(bit),有人会问什么是bit?其实最简单的回答就是1B = 8bit,即一个字节等...

  • C语言硬件操作之位操作相关总结

    【引言】: 嵌入式开发工程师有别于其他软件开发工程师,最大的区别就是对硬件操作的敏感性,众所周知,硬件的最...

  • Linux基础学习笔记 - 2018-10-07

    操作系统 定义:操作系统是一个特殊软件,它作为接口供程序员开发使用; 作用: 1、直接操作硬件; 2、把操作硬件的...

  • Flutter环境搭建

    一、硬件 操作系统:win7以上64位操作系统磁盘空间:400MB(不包括开发工具的磁盘空间)依赖工具:Git、A...

  • 1-iOS浅谈

    1.iOS开发概述 操作系统:操作系统可以看作用户与硬件的接口、桥梁,它为应用软件和用户提供了控制、访问硬件的手段...

  • 一个操作系统的实现-于渊

    操作系统是处于硬件和软件之间的,所以开发操作系统其实就是按硬件的要求来实现自己的功能。即微软是按照Intel手册来...

  • iOS开发 蓝牙技术

    蓝牙是开发中常用的功能。通过手机APP与硬件设备连接,进而操作硬件,在开发中越来越常见。 蓝牙的理论知识可自行从网...

  • 操作系统概论

    谈谈,64位和32位的区别? 考察点:操作系统参考回答: 操作系统只是硬件和应用软件中间的一个平台。32位操作系统...

  • 硬盘分区表扫盲:MBR和GPT表,你在用哪一样?

    自从2007年Vista操作系统推出以后,各大硬件厂商对于硬件开发速度明显加快,其中对于硬盘的速度和容量,从最早的...

  • 系统信息 uname [options]

    显示操作系统信息,不指定参数时仅显示操作系统名 -a 显示所有信息,-m 打印硬件类型(32位、64位)-n 打印...

网友评论

      本文标题:iOS-硬件开发之位操作

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