码迷,mamicode.com
首页 > 其他好文 > 详细

NOJ---页面无法显示--位运算

时间:2014-06-29 18:50:31      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   

好吧 先解决下 -- 页面无法显示

该死的Oj 不知道为什么突然无法打开了 =-= 我也就忘记题号了

主要现在这场乌拉圭-哥伦比亚 刚开始  忙里偷闲 把这题来写了

明天 不对 应该是今天 不知道要睡到什么时候 =-=

 

先来贴下关于位运算的操作要求及解释--------我好像上次贴过 我忘记了 orz

位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作

运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。
C语言提供的位运算符列表:
运算符 含义 描述
& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1
^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1
~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0
<< 左移 用来将一个数的各二进制位全部左移N位,右补0
>> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0

// 感觉 紫色 最显眼啊

 

题目链接我暂时不能给出了 = 我明天睡醒 会补上

bubuko.com,布布扣
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main() 
 5 {
 6     unsigned long long num; // 这边使用unsigned long long 可以满足题目的数据要求 
 7     while (cin >> num) 
 8     {
 9         int len = 0;
10         unsigned long long temp = num;
11         while (temp) // 求出将 num -> 转成2进制数后的序列长度 如5->101 即 len = 3 
12         {
13             temp>>= 1;
14             len++;
15         }
16         temp = num;
17         for (int i = 0; i < len; i++) 
18         {
19             cout << temp;
20             if (temp & (1LL << (len - 1)) ) //这里的( 1LL <<(len-1) )就是从同样长度的二进制序列高位到低位为1开始枚举 
21             { // 如果&成功 那么代表num的二进制序列的最左边(即最高位)是1 那么通过下面的操作就将1给移到了最后 
22                 temp = ( (temp ^ (1LL << (len - 1)) ) << 1 ) | 1;
23             } //主要是利用了 ^ 的性质 和 << 将二进制的数全左移并且低位用0补齐 然后与1 | 那么就是1了 
24             else 
25             {
26                 temp = temp << 1;//进入到这里 说明最左位是0 那么直接<< 
27             }
28             if (i < len - 1) 
29             {
30                 cout << " ";
31             }
32             else 
33             {
34                 cout << endl;
35             }
36         }
37     }
38     return 0;
39 }
View Code


最近 喜欢直接用c++ 的cin cout来写 流畅=-=  至于会不会tle的话 天意 不行 再改为 scanf printf吧

 

today:

  我来年陌生的是昨日最亲的某某

  最熟悉的陌生人

 

 

 

 

 

 

 

NOJ---页面无法显示--位运算,布布扣,bubuko.com

NOJ---页面无法显示--位运算

标签:style   blog   http   color   使用   strong   

原文地址:http://www.cnblogs.com/radical/p/3814027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!