FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
programming/bit_operation/cpp/BitsQuestion.cpp at master · hacktoberfest17/programming · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
hacktoberfest17
/
programming
Public
Notifications
You must be signed in to change notification settings
Fork
765
Star
333
Code
Issues
271
Pull requests
583
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
programming
/
bit_operation
/
cpp
/
BitsQuestion.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
27 lines (23 loc) · 564 Bytes
Breadcrumbs
programming
/
bit_operation
/
cpp
/
BitsQuestion.cpp
Copy path
File metadata and controls
27 lines (23 loc) · 564 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
Next higher number with same number of set bits
*/
#
include
<
iostream
>
#
include
<
stdint.h
>
using
namespace
std
;
typedef
unsigned
int
uint_t
;
uint_t
next_higher
(
uint_t
x);
int
main
()
{
int
x;
cout<<
"
Enter a number.
\n
"
;
cin>>x;
cout<<
"
Next higher number with same number of set bits is :
"
<<
next_higher
(x)<<
"
\n
"
;
return
0
;
}
uint_t
next_higher
(
uint_t
x)
{
uint_t
smallest, ripple, ones;
smallest = x & -(
signed
)x;
ripple = x+smallest;
/*
first half of answer
*/
ones = x^ripple;
ones = (ones>>
2
)/smallest;
/*
second half of answer
*/
return
ones|ripple;
}
Back
|
FazBrowse Home
|
New Git URL