学习 C++primer 第6天 之 小问题。/。。

jinjunweiruan 2008-07-08 07:03:58
由于昨天做的都是练习,,,所以,每有问题。但有个一直困扰我的问题。
你说说,我门打进代码。。为什么编译器,它就能执行这个命令?就像WINDOW里的一样。。有个MESSAGEBOX。。它得到消息,它为什么就能去执行?它有不是人,能懂...
也 就 是 最 深成的原理。。。
谁 懂。。讲下啊。。。XX
...全文
292 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
two_ears 2008-07-09
  • 打赏
  • 举报
回复
hoho,lz别光看这些大叔们云山雾罩的
要想学好,从基础做起,做个觉远和尚那样的高手
two_ears 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 summersdw1 的回复:]
由C++PRIMER联想到这个问题~只能说楼主你很强大~
[/Quote]
呵呵,这个孩子喜欢动脑子,确实不错
ppp_10001 2008-07-09
  • 打赏
  • 举报
回复
我的理解很简单----约定(或者说是规则)


我们先约定 有电代表什么(比如1),没电代表什么(比如0)

然后我们约定011101000代表什么(比如a)

然后我们约定int代表什么(比如 整数)

然后我们约定;代表什么(比如 分割)

然后我们约定 整数代表什么

.....

这样当我们写 int a ; 时计算就按照我们的约定记录:101000111011111011

在我们需要时它又按照我们的约定把101000111011111011解释为int a;


--
当然我们不可以定议/n表示换行
在我们需要时它又按照我们的约定把/n解释为换行......

我的表达能边是不是太差了??
哎.


五号智能 2008-07-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jinjunweiruan 的回复:]
12L这个我也知道,,我想知道,它机器为什么就能懂这些代码..
[/Quote]

代码是指令,是以命令形式令机器工作。
不是它懂,而是规定它这样操作。

输入一个二进制,这个数的每个位都代表一种状态,
有电无电。
假如10101010 加01010101, 0是无电1是有电。每个位都是一根电线

10000000代表加。

当你输入第一个数的时候,它从一组叫“数据总线”的电线通到寄存器当A中,把A中对应的电容充电。再输入一个数的时候它从“数据总线”通到寄存器B当中,把对应的电容充电。

输入指令加,它从“控制总线”,看清,走不一样的路了。走到逻辑电路集这里,把最左边的开关打开。这个开关是寄存器A和B之间的或门电路开关。输出端在C寄存器,完成了相加运算

逻辑电路有三种,或,与,非,三门,有初中物理的基础,就可以画出这个电路的电路图。

或门,完成的功能,是两个输入端一个输出端,把两个输入端做或运算输出。
与门,是进行与运算输出
非,是取反输出。

明白了最基本的东西,就应该知道了,用基本逻辑电路来做加法运算,用加法的补码运算法做减法运算。用二进制代替其它进制。用二进制从控制总线打开相应开关。

为了记忆方便,用符号来替代二进制数据和指令。这就是汇编的形成。

后来,为了更容易理解又产生了高级语言,C,C++。编译器的做用,把代码全变成二进制的。标记好数据和指令两类。放在文件里

当有指令让这个文件中的二进制指令运行。指令和数据便按照按排好的顺序(程序)一个一个输出,CPU(运算器与控制器)读来指令,打开相应的开关让数据走到相应的寄存器,打开相应的逻辑电路让寄存器中数据进行逻辑运算。

如果再不明白,你应该学一下初中物理,画出逻辑电路,然后用电容代内存。组装出一个逻辑计算器,就应该明白它的工作原理了

biosli 2008-07-09
  • 打赏
  • 举报
回复
其实计算机也很笨,他只能执行汇编代码。
编译成机器语言,在编译期编译器回把你的程序弄成汇编的,这期间每个函数有个地址,在连接的时候把你的函数地址挂上东西。
操作系统有一个统一的入口然后一行一行执行汇编代码,遇到函数就跳转到相应位置执行函数里面的汇编代码,执行完再跳出来。
有兴趣的话写段代码然后打开你IDE的汇编器,一行一行看看就明白了。
bendise 2008-07-09
  • 打赏
  • 举报
回复
可以参考十万个为什么
ribut9225 2008-07-09
  • 打赏
  • 举报
回复
该死的楼主,偶还以为什么小问题可以赚点分呢

路过
jinjunweiruan 2008-07-09
  • 打赏
  • 举报
回复
.....我只是想了解下。。。
不然很不舒服。。。。总感觉不舒服。。。
dwen20 2008-07-09
  • 打赏
  • 举报
回复
很明显楼主没有学过计算机硬件的知识,应该是个非计算机专业的,既然这样,建议楼主就不要研究
这些问题了,知道怎么编程就行了,除非你肯花大量的时间去了解哪些知识。
f22fbi 2008-07-09
  • 打赏
  • 举报
回复
关注LZ,帮助我更好的理解C++ Primer
NKLoveRene 2008-07-08
  • 打赏
  • 举报
回复
问得好,哈哈
jinjunweiruan 2008-07-08
  • 打赏
  • 举报
回复
12L这个我也知道,,我想知道,它机器为什么就能懂这些代码..
Darkneece 2008-07-08
  • 打赏
  • 举报
回复
有编译器或者解释器,把代码变为汇编,再变成机器语言
ymntomyimi8855 2008-07-08
  • 打赏
  • 举报
回复
看样子我们学校开的的课程不错嘛,虽然电工学那门课有点难学,但是能帮助我更容易理解计算机原理;
为什么计算机能知道该怎么做呢?
首先机器语言是计算机唯一以这种能被识别的语言;这也是最低级的语言,他们涉及到许多电工学东西,我就不多说了;
其次c++是一种高级语言,而且他还是面向对象化语言;但是计算机并不能识别这种语言,他必须转化成机器语言才能被计算机识别。
jinjunweiruan 2008-07-08
  • 打赏
  • 举报
回复
6L将到电容。。似乎 有 点懵懂。。。。。GO ON
kampan 2008-07-08
  • 打赏
  • 举报
回复
多思考总比稀里糊涂的把书看一遍强得多。
鱼C缸 2008-07-08
  • 打赏
  • 举报
回复
这就是语言与语言的支持
summersdw1 2008-07-08
  • 打赏
  • 举报
回复
由C++PRIMER联想到这个问题~只能说楼主你很强大~
mingguang7213 2008-07-08
  • 打赏
  • 举报
回复
这孩子不错
npuhuxl 2008-07-08
  • 打赏
  • 举报
回复
楼主似乎应该去研究一下计算机导论、计算机组成原理、汇编语言与接口、计算机操作系统.....
加载更多回复(16)

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧