首页 > 其他 > 详细

一个FLAG #04# 左移运算符

时间:2020-03-20 23:09:03      阅读:60      评论:0      收藏:0      [点我收藏+]

#include <stdio.h>
#include <string.h>
 
// 左移运算符
int main()
{
    for (int i = 0; i != 10 ; ++i) {
        printf("1 << %d: %d \n", i, 1 << i);
    }
        
    return 0;
}
/*
输出是 
1 << 0: 1 即2^0 二进制 1 (把 1 左移了n位)
1 << 1: 2 即2^1 二进制 10 (把 1 左移了1位)
1 << 2: 4 即2^2 二进制 100 (把 1 左移了2位)
1 << 3: 8
1 << 4: 16
1 << 5: 32
1 << 6: 64
1 << 7: 128
1 << 8: 256
1 << 9: 512
所以 1 << n 是 2^n 二进制 1后面跟着n个0 (把 1 左移了n位) 

用二进制数表达状态。 
1位二进制只可以表达 2 种状态 0 与 1 
而 2位二进制就可以表达 2 * 2 = 4 种状态 2 ^ 2  
3位可以表达 2 * 2 * 2 = 8种状态 2 ^ 3 
*/

 

参考

[1] i<<4在C++中是什么意思_百度知道

一个FLAG #04# 左移运算符

原文:https://www.cnblogs.com/xkxf/p/12531933.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!