输入一个十进制的正整数,从低位开始查找,找到第一个置位(1)比特的位置
来源:互联网 发布:手机淘宝修改评价 编辑:程序博客网 时间:2024/06/06 12:51
今天在网上看到一个题目,输入一个十进制的正整数,从低位开始查找,找到第一个置位(1)比特的位置 按照如下规则对正整数进行置位比特的查找: 1. 当查找失败时,比如输入正整数0,返回-1 2. 当查找成功时,返回该比特的位置 例子: 比如 如入12,二进制表示是0000000000001100,则第一个置位比特为2
那我的思路是先使二进制1左移i位与原数的二进制相与,第一个为真的时候返回i值即可,代码如下:
#include <iostream>using namespace std;int decToBin(int val){ if ( 0 == val) { return -1; } for (int i = 0; i < 16; ++i) { if(val & (1 << i)) { return i; } } return 0;}int main(){ int val; cin>>val; cout<<decToBin(val)<<endl; return 0;}
阅读全文
0 0
- 输入一个十进制的正整数,从低位开始查找,找到第一个置位(1)比特的位置
- 正整数的 二进制表示 中 从低位向高位 第1个0/1出现位置 的计算方法
- 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中1的个数(编程之美P128)
- 给定一个十进制正整数N,求出从1开始,到N的所有整数,数字1出现的次数(java实现)
- 给定一个十进制的正整数N,计算从1开始到N的的所有整数中1出现的个数
- <编程之美>给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有1的个数
- 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数
- 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数
- 输入整数,偶数偶数,从高位到低位的顺序组成一个新的数
- (二分查找思想)从有序递增旋转数组45679123 中找到数字6的位置
- 问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。 输入格式 输入一个正整数N。 输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 5
- 二分查找(返回目标元素的第一个位置、最后一个位置)
- 二分查找(返回目标元素的第一个位置、最后一个位置)
- 找到一个数字的位置
- 编写一个函数,实现从一个字符串中,查找另一个字符串的位置(笔试题) 例如int func("12345", "34")返回值为2,即在2号位置找到字符串“34”。
- 比特作业1(生涯的开始.)
- [LeetCode] 找到第一个不存在的正整数 First Missing Positive
- 41. First Missing Positive 找到第一个缺失的正整数
- hadoop排序
- java迷路记-微信支付之公众号支付小结
- Hive入门安装配置
- 软考--程序设计语言基础
- LeetCode (Minimum Window Substring)
- 输入一个十进制的正整数,从低位开始查找,找到第一个置位(1)比特的位置
- Android BLE开发
- RxJava1.x ------ 取消订阅,Subscription
- js数据结构排序之选择排序
- <视频教程-2>生成对抗网络GAN视频教程part6-完整版
- libuv之事件循环loop
- 类图、用例图、序列图、BCE模式
- 小白题解 Codeforces 785B Anton and Classes
- mysql 和 redis的区别