由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C语言里的<<=是什么意思?
相关主题
问一个C语言中整型和浮点运算的问题 (转载)C语言中关于fseek和fscanf/fgets的怪事。
请问关于左移运算符的一个问题, C/C++请教几个汇编语言的问题
问题:如何打开搜索二进制文件 (转载)两个面世题
easy problem coconutA question about class size
弱人再问一个关于Java的问题C++ Q 108: swap
haskell怎么读取二进制数组?python question, easy one
地址空间里的一个BYTE不能写入(是合法地址)老魏老姜老霸,我出银子给你们开机器
请教一道C语言的题目java里run curl system command的问题
相关话题的讨论汇总
话题: c语言话题: 左移话题: 意思话题: 比如话题: 表示
进入Programming版参与讨论
1 (共1页)
L*******g
发帖数: 913
1
比如下面这个,n=100,为什么最后it=0? 谢谢。
for (it=1,j=1;j
o***g
发帖数: 2784
2
it <<= 1就是 it = it<< 1;
it类型是啥?
这个循环是it左移99位

【在 L*******g 的大作中提到】
: 比如下面这个,n=100,为什么最后it=0? 谢谢。
: for (it=1,j=1;j
L*******g
发帖数: 913
3
谢谢。it是int型,这个移位的效果/用途是什么?

【在 o***g 的大作中提到】
: it <<= 1就是 it = it<< 1;
: it类型是啥?
: 这个循环是it左移99位

o***g
发帖数: 2784
4
看来你不知道啥是位移
比如一个byte: 0000 0001
左移一位就是0000 0010
位移运算老快了。所以有的需要*4之类的就可以左移两位,速度上快N倍。
计算机无非是用0和1来表示你定义的东西,失去定义就剩一些0和1了,没意义。
比如定义一个byte的最右一位表示有无太阳,1表示有,0表示没有
这个byte的右数第二位表示有无月亮,1表示有,0表示没有
那0000 0001就表示有太阳没有月亮。左移一位就变成0000 0010,变成有月亮没有太阳
了。
对了,对位移操作的变量更应该关心其长度。
比如it是int可能是32位的,64位的或128位的。(也可能是其他长度的)
要是128位的,那结果就不是0了

【在 L*******g 的大作中提到】
: 谢谢。it是int型,这个移位的效果/用途是什么?
c*******h
发帖数: 527
5
不管什么类型
二进制移动就是了

【在 L*******g 的大作中提到】
: 谢谢。it是int型,这个移位的效果/用途是什么?
O*******d
发帖数: 20343
6
left shift operation. 楼主需要复习一下二进制。
1 (共1页)
进入Programming版参与讨论
相关主题
java里run curl system command的问题弱人再问一个关于Java的问题
贡献一下:本版上搜集的 Google 面试题 (转载)haskell怎么读取二进制数组?
linux的二进制兼容性这么差,影响易用性啊地址空间里的一个BYTE不能写入(是合法地址)
怎样用减法和移位代替除法请教一道C语言的题目
问一个C语言中整型和浮点运算的问题 (转载)C语言中关于fseek和fscanf/fgets的怪事。
请问关于左移运算符的一个问题, C/C++请教几个汇编语言的问题
问题:如何打开搜索二进制文件 (转载)两个面世题
easy problem coconutA question about class size
相关话题的讨论汇总
话题: c语言话题: 左移话题: 意思话题: 比如话题: 表示