设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2614|回复: 11
打印 上一主题 下一主题

[有事请教] 关于C语言中的位运算是如何运算的?

[复制链接]

Lv2.观梦者

梦石
0
星屑
695
在线时间
217 小时
注册时间
2011-1-26
帖子
690
跳转到指定楼层
1
发表于 2011-12-24 14:32:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
在C语言学习过程中遇到了麻烦,所以就来问各位了。
关于C语言中的按位与、按位或、左移、右移、按位异或是怎么运算的。
他们说是二进制算法,那什么又是二进制呢?


还有,下面这段加法计算器代码有错误么,如果没有,请问要怎么在VC++6.0中书写,生成什么文件:
#include <stdio.h>
int main()
{
int a=0,b=0,c=0;
printf("输入加数a:\n");
scanf("%d",$a);
printf("输入加数b:\n");
scanf("%d",$b);
c=a+b;
printf("结果等于c:\n");
printf("%d\n,c);
return 0;
}

点评

谢谢各位,2进制学懂了,在Windows默认的计算器中学会了  发表于 2012-1-1 18:08

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41076
在线时间
7566 小时
注册时间
2009-7-6
帖子
13498

开拓者贵宾

2
发表于 2011-12-24 14:36:26 | 只看该作者
?就是二进制按同位运算啊,就像十进制的十位百位千位你都不懂么.
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
695
在线时间
217 小时
注册时间
2011-1-26
帖子
690
3
 楼主| 发表于 2011-12-24 14:40:57 | 只看该作者
fux2 发表于 2011-12-24 14:36
?就是二进制按同位运算啊,就像十进制的十位百位千位你都不懂么.

就是每2进一位,1+1就等于10,10+2就等于20了是吗

点评

好吧。  发表于 2011-12-25 18:10
10 + 2 = 20…………2进制只有0和1木有2的;你想表达的意思应该是: 10 + 10 = 100………………  发表于 2011-12-24 23:56
都说每2进一位了  发表于 2011-12-24 14:43
额  发表于 2011-12-24 14:42
你赢了  发表于 2011-12-24 14:41
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
5250 小时
注册时间
2011-10-7
帖子
1885

开拓者贵宾

4
发表于 2011-12-24 14:45:09 | 只看该作者
本帖最后由 凌童鞋 于 2011-12-24 14:52 编辑

10的二进制1010
10>>1:0101
10>>2:0010
10<<1:10100
10<<2:101000  

程序运行结果应该是个控制台,让你先输一个数a,再输一个数b,然后输出 a +b 的结果…
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41076
在线时间
7566 小时
注册时间
2009-7-6
帖子
13498

开拓者贵宾

5
发表于 2011-12-24 14:49:09 | 只看该作者
510035021 发表于 2011-12-24 14:40
就是每2进一位,1+1就等于10,10+2就等于20了是吗

取址符都打错你怎么学的。
  1. #include<stdio.h>
  2. main()
  3. {
  4.         int a=0,b=0,c=0;
  5.         printf("输入加数a:\n");
  6.         scanf("%d",&a);
  7.         printf("输入加数b:\n");
  8.         scanf("%d",&b);
  9.         c=a+b;
  10.         printf("结果等于c:\n");
  11.         printf("%d\n",c);
  12. }
复制代码
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

6
发表于 2011-12-24 23:12:44 | 只看该作者
LZ连二进制都不学就敢研究位运算么……
你就简单的把移位想象成×2和÷2得了……
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41076
在线时间
7566 小时
注册时间
2009-7-6
帖子
13498

开拓者贵宾

7
发表于 2011-12-25 00:21:40 | 只看该作者
逸豫 发表于 2011-12-24 23:12
LZ连二进制都不学就敢研究位运算么……
你就简单的把移位想象成×2和÷2得了…… ...

哇好久不见逸豫sama!

点评

其实一直都在,只不过都是用马甲就是了……  发表于 2011-12-25 00:29
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
145
在线时间
698 小时
注册时间
2009-11-15
帖子
538
8
发表于 2011-12-25 07:23:14 | 只看该作者
scanf("%d",$a);
把这一行和下面那一个变量前面的$改成&
另外最后一行少了个"

点评

对了,C++中的新建项目有很多,是新建哪个  发表于 2011-12-25 18:00
考上三级了!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
695
在线时间
217 小时
注册时间
2011-1-26
帖子
690
9
 楼主| 发表于 2011-12-25 17:59:49 | 只看该作者
2719358 发表于 2011-12-25 07:23
scanf("%d",$a);
把这一行和下面那一个变量前面的$改成&
另外最后一行少了个"

那么二进制要怎么学,是我年龄不够还没学到么,自己学可以的么,我在上初二

点评

如果是vc6.0的话,大概是win32, 另外我在七年级  发表于 2011-12-25 18:13
回复 支持 反对

使用道具 举报

Lv2.观梦者


  • 更新完成啦

梦石
0
星屑
779
在线时间
6267 小时
注册时间
2006-6-7
帖子
8462
10
发表于 2011-12-25 18:11:16 | 只看该作者
510035021 发表于 2011-12-25 17:59
那么二进制要怎么学,是我年龄不够还没学到么,自己学可以的么,我在上初二 ...

初一的时候为了修改游戏就已经知道怎么算16进制了。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-20 14:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表