【发布时间】:2013-02-01 05:53:01
【问题描述】:
我很难理解 C++ 等编译器是如何处理数据类型的。 当从键盘输入任何内容时,比如说数字 123,我们会在屏幕上看到相同的数字,但取决于数据类型,它的存储方式不同。即使输入了相同的键盘敲击,转换数据类型的算法是什么?为什么数字的存储方式和显示方式不同?例如,在上述情况下,如果数字 123 是 int 类型,它将存储为 01111011(1 个字节),但是如果它是字符串类型,它将存储在 3 个字节(每个数字一个字节)中。但在这两种情况下,我们都会在屏幕上看到相同的数字。计算机是否使用不同的字节来存储和显示数字? 我的问题是,当我们输入任何数字时,它是否会通过 ASCII 表并查找该数字的字符代码,然后编译器会进行某种处理以将该数字存储在适当的数据类型中并显示该数字?
谢谢大家
【问题讨论】:
-
也许你只需要读一本关于编译的书。您的问题太宽泛,无法在这里回答 IMO。
-
leppie 感谢您的建议。如果您能指出我的任何网站或文章,我将不胜感激。
-
@user2031427 看看 ANTLR.org,它是一个创建具有 GUI 的编译器的工具。这将增加你的理解。
标签: compiler-construction types