leetcode刷题日记:190. Reverse Bits(颠倒二进制位)和191. Number of 1 Bits( 位1的个数)

iTunes登录协议抓包实战:绕过反检测与TLS解密的完整方案 在软件逆向与网络协议分析中,抓包工具扮演着关键角色。代理型工具如Fiddler通过修改系统代理实现HTTPS解密,而驱动型工具如HTTPDebugger则注入进程钩取网络API,但这些实现机制往往会被具有反检测策略的客户端识别。以iTunes登录协议为例,其内置证书锁定、进程完整性与系统代理检测等防护,导致常规抓包方案失效。从工具原理出发,对比不同抓包方案的暴露面,重点介绍如何利用Fiddler通过中间人代理获取明文流量,以及使用Wireshark进行被动监听规避检测的进阶技巧,并总结常见问题排查经验,为分 阅读详情

190. Reverse Bits(颠倒二进制位)

题目要求我们将一个数的二进制位进行颠倒,画出图示如下(以8位二进制为例):
在这里插入图片描述
显然对于这种问题我们需要用到位操作,我们需要将原数的每一位取出来然后颠倒之后放进另一个数。
我们需要先知道离散数学中的几个公式p∨1=1p∨0=pp∧1=pp∧0=0p\lor 1 = 1\\p\lor 0=p\\p\land 1 = p\\p\land 0 = 0p∨1=1p∨0=pp∧1=pp∧0=0
知道上述的公式之后我们就可以对数进行取出位数。
如下图所示
在这里插入图片描述
在这里插入图片描述

也就是说我们要取出哪一位就让哪一位&上1就行了。
但是如何控制对应位为1而其他位为0呢?我们知道c语言中移位操作>>与<<,分别代表左移与右移,让对应位为1我们只需要让1进行<<操作就行。
经过移位与&操作我们可以得到一个除了要取出位为原二进制数中对应位之外,其余位全为0的数。
现在取出哪一位的问题已经解决了,我们知道p∨0==pp\lor0==pp∨0==p也就是说我们要保证接收对应位的数的对应位等于0,其余的均不许要进行改变,因为我们取出数的位除了取出的那一位其余位全为0,并不会改变我们的接收数。由此我们有了以下的思路。
因为有符号整型的数在进行移位操作的时候并不能操作符号位所以我们需要先进行符号位的改变。或者使用无符号整型。

uint32_t reverseBits(uint32_t n) {
    int x = 0;
    if(n%2==0){
        x = 0;
    }else{
        x = INT_MIN;
    }
    for(int i =0; i<31; i++){
        n = n>>1;
        x |= ((n&1)<<(30-i));
    }
    return x;
}

运行结果截图:
在这里插入图片描述

191. Number of 1 Bits( 位1的个数)

经过上面这一题之后我们已经知道怎么取出对应位了,取出对应位之后判断是否为1就行了。

int hammingWeight(uint32_t n) {
    int count = 0;
    while(n){
        if(n&1){
            count++;  
        }
        n=n>>1;
    }
    return count;
}

运行结果截图:
在这里插入图片描述

揭秘无人机前沿领域的科技新突破 本文旨在系统性地介绍无人机技术在前沿领域的最新突破,涵盖从基础理论到实际应用的各个方面。我们将重点关注那些正在改变无人机行业面貌的关键技术创新,并分析它们对未来发展的影响。文章首先介绍无人机技术的基础概念和背景,然后深入探讨六个关键领域的技术突破,接着分析实际应用案例,最后展望未来发展趋势。自主导航系统(SLAM):同时定位与地图构建技术,使无人机能在未知环境中自主导航计算机视觉(CV):使无人机能够"看"和理解周围环境的技术5G通信:第五代移动通信技术,提供高速、低延迟的数据传输能源管理。 阅读详情

相关推荐

Qt之QSqlTableModel:高效数据库操作与视图绑定的实战指南

本文深入探讨了Qt框架中的QSqlTableModel组件,它作为连接数据库与Qt视图的智能中介,能极大简化数据库的增删改查操作。通过实战代码演示,详细讲解了如何快速构建可编辑的数据表格、理解并设置关键的数据编辑策略(如OnManualSubmit),以及实现数据过滤、排序等高级功能。文章还提供了性能优化、事务处理及常见避坑指南,帮助开发者高效、稳健地开发数据库驱动的桌面应用。

y4z5a6b7的博客 440

LeetCode——190. 颠倒二进制位(Reverse Bits)[简单]——分析及代码(Java)

LeetCode——190. 颠倒二进制位[Reverse Bits][简单]——分析及代码[Java]一、题目二、分析及代码1. 逐位颠倒(1)思路(2)代码(3)结果2. 位运算分治(1)思路(2)代码(3)结果三、其他 一、题目 颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 在 Java 中,

江南土豆的博客 324

KiCad 7.0 + 嘉立创打样:从原理图到实物,打造你的双LLCC68 LoRa串口透传板

本文详细介绍了使用KiCad 7.0设计双LLCC68 LoRa串口透传板的完整流程,从原理图设计到嘉立创打样。重点解析了AVR+LLCC68组合的优势、双模块布局的电磁兼容设计、SPI接口配置及射频走线技巧,并提供了实测数据和常见问题解决方案,帮助开发者高效实现物联网设备的低功耗远距离通信。

weixin_28693447的博客 262

2016.5.16——leetcode:Reverse Bits(超详细讲解)

leetcode:Reverse Bits 本题目收获   移位(<< >>), 或(|),与(&)计算的妙用   题目:     Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 000...

weixin_30745553的博客 210

uniapp 基于单选框多选框实现上拉触底多选/单选、回显

showPickerCheckbox弹层显示 label和value 类似下拉框的label和value一个意思 键和值。结果:可以传接口(接口只能post请求) 可以搜索 下面是结果图片展示 单选多选都可以。fieldValue回显传的值 传的是字符串 数组的话[1,2]转为1,2格式传入。mode是控制的单选还是多选 true为多选默认值 其余参数 单选多选一样。fieldName字段名 确定后会返回该字段名 根据字段名找对应的传入值。问题:在uniapp上 实现分页多选的操作。下面是组件的完整代码。

2301_76607997的博客 2936

[GXYCTF2019]BabyUpload1 -- .htaccess文件解析与蚁剑实战指南

本文深入解析了[GXYCTF2019]BabyUpload1文件上传漏洞的实战利用。通过绕过后缀名与内容检测,上传包含PHP代码的.jpg文件,并利用.htaccess文件强制服务器将其解析为PHP脚本。文章详细介绍了.htaccess的原理、构造方法、Content-Type绕过技巧,并演示了如何使用中国蚁剑连接Webshell获取Flag,为Web安全学习提供了完整实战指南。

weixin_29016315的博客 512

190. Reverse Bits

190. Reverse Bits 是一道难度为Easy的题目,本文借这题讲述不同进制的转换,在此之前,先讲述题目 解题 解题思路 十进制转二进制并倒序,参考:十进制转二进制,将insert改成append 补齐32位 二进制转十进制,参考:二进制转十进制 python3实现 class Solution: def reverseBits(self, n: int) -> int...

煎鸡蛋汤 752

GD32F427移植LiteOS-M实战:如何快速复用官方Demo进行二次开发

本文详细介绍了如何在GD32F427开发板上移植LiteOS-M操作系统,通过复用OpenHarmony官方Demo快速构建RTOS工程。文章涵盖环境搭建、芯片配置迁移、中断向量表处理和外设驱动适配等关键步骤,并提供了调试技巧和二次开发进阶建议,帮助开发者高效完成移植工作。

weixin_33736048的博客 415

位运算——Reverse Bits

Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110

ty13438189519的博客 591

Go语言面试:面试中经常被问到的50个经典面试题(附参考答案)

Go语言核心知识点摘要 基础语法与数据结构 make和new区别:new分配零值内存返回指针,make初始化引用类型返回实例 Slice底层:包含指针、长度、容量的结构体,多个slice可共享底层数组 nil与空slice:nil指针为nil,空slice指针非nil但JSON编码不同 Map原理:哈希表实现,非线程安全,扩容策略影响性能 for range注意:循环变量是拷贝,map遍历无序 defer执行:LIFO顺序,函数返回前执行 Struct比较:仅当所有字段可比较时才可比较 参数传递:只有值传递

数据知道的博客 4726

【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析

本案例针对三阴乳腺癌患者,经问卷调查收集数据并筛选处理形成原数据,经清洗、特征选择与变换后,构建Apriori模型,基于业务理解与建模结果,分析患者症状与中医证型关联,并据症状给出建议 。

Morse_Chen的博客 1385

字节的按位逆序 Reverse Bits

源自某公司的一道试题,问题很简单: 输入一个字节(8 bits),将其按位反序。 也就是说如果输入字节的八个比特是“abcdefgh”,要得到“hgfedcba”。作为面试题或者笔试题,自然的,隐含了一个要求:效率尽可能高。 这个问题还有一个扩展版本,或许网上见的更多些:输入的不是字节而是 32 位整数(DWORD),将其按位反序。 实话说,有时候这种题目颇有些钻牛角尖了,考察程序员的能力需要...

ayang1986的专栏 4250

Scale-up,scale-out技术概述

本文系统分析了Scale-up与Scale-out两种扩展技术在现代计算中的应用与发展。Scale-up通过增强单节点性能,适用于高耦合任务,而Scale-out通过横向扩展节点,实现高可用性和无限扩展。在芯片层面,Chiplet技术推动Scale-up发展;在数据中心层面,二者协同工作构建强大集群。光模块在长距离高带宽传输中发挥关键作用。文章对比了NVIDIA、AMD和Broadcom三家公司的技术路线,指出NVIDIA采用封闭生态,AMD选择开放标准,Broadcom则主导底层连接技术。未来发展方向将聚

元直的博客 1447

【LeetCode 面试经典150题】190. Reverse Bits 反转比特

通过位操作来反转整数的比特位。从低位到高位逐个检查原数的每个比特位,并将其添加到结果的相反位置。反转一个给定的 32 位无符号整数的比特位。如果这个函数被多次调用,你会如何优化它?

qq_43513394的博客 626

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Reverse Bits (leetcode 190)

Reverse Bits

wuhuaiyu的专栏 439

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LeetCode: Reverse Bits 二进制转换方法总结

190. Reverse Bits 给定一个32位的无符号位整数,返回一个二进制逆序代表的整数。 比如给你一个4,二进制为00000000000000000000000000000100; 需要返回536870912 ,二进制为00100000000000000000000000000000; 其实还是求解如何获取每一位上的0,1,记录几种方法。 1 常规操作,%运算。 class ...

Hey_yf的博客 579

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文章标题

reverse bitsReverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00

cathryn0131的专栏 328

LeetCode | 190. Reverse Bits

题目: Reverse bits of a given 32 bits unsigned integer. Note: Note that in some languages such as Java, there is no unsigned integer type. In this case, both input and output will be given as a signed integer type. They should not affect your implement...

iLOVEJohnny的博客 248

leetcode 190. Reverse Bits | 190. 颠倒二进制位(移位操作,十进制二进制相互转换,打表法)

题目 JDK 自带的 Integer.reverse() 方法源码 这个没看懂。。 /** * Returns the value obtained by reversing the order of the bits in the * two's complement binary representation of the specified {@code int} * value. * * @param i the value to be r

寒泉 7万+

190. Reverse Bits反转位Python

给定的32位无符号整数的反向位。 Input:00000010100101000001111010011100(43261596) Output:00111001011110000010100101000000(964176192) PS >在某些语言(例如Java)中,没有无符号整数类型。 在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为该整数的内部二进制表示形式是有符号的还是无符号的。 >在Java中,编译器使用2的补码表示法来表示有符号整数。因此,

weixin_44516745的博客 583

reverse bits

Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as0011100101

poiop221的专栏 368

LeetCode 190.Reverse Bits(颠倒二进制位)

题目 求解 思路:我采用的IDE是Java,在Java中二进制转为int是对二进制求补码(在Java中都是有符号数),同理int转byte就是补码的逆运算,例如8位的二进制的范围就是-128~127,如果对字节的赋值超过这个范围编译器就会报错。在计算机中一个int值是保存在32个位中的(也就是四个字节),因此例如-3这个数对应的存储单元为11111111111111111111111111111...

马一凡的博客 295

LeetCode 第 190 题 (Reverse Bits)

LeetCode 第 190 题 (Reverse Bits) Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192

Ivan 的专栏 3046

190. Reverse Bits(二进制数求逆)

problems: Reverse bits of a given 32 bits unsigned integer. Example 1: Input: 00000010100101000001111010011100 Output: 00111001011110000010100101000000 Explanation: The input binary string 00000010100...

Hcaroline 625
上一篇: leetcode刷题日记:169. Majority Element(多数元素)和 171. Excel Sheet Column Number(Excel 表列序号)
下一篇: leetcode刷题日记:202. Happy Number( 快乐数)和203. Remove Linked List Elements(移除链表元素)
apprentice_eye
博客等级 码龄6年 1165粉丝 348原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值