如果无法通过查看位来分析该值的类型,那么计算机如何知道应如何操纵值
If type of the value cannot be analyzed by looking into the bits, how does the machine know how the value should be manipulated?
如果无法通过查看位(如我提到的书籍中写成)来分析或发现该值的类型,则该机器如何知道应该如何操纵值?<<<<<<<<<<
c和c 是静态键入,这意味着类型是编译时概念。编译器以适合类型的方式生成代码来操纵位;机器执行该代码,并且不需要了解类型的任何信息。
编译器知道每个变量的类型,因为您必须声明每种类型。因此,编译器生成了处理任何特定类型变量的适当说明。
机器不知道:知道的是编译器。不同类型的相同代码不会生成相同的机器代码。
C 编译器知道。因此,它知道要生成乘数实数与乘一个多符号整数与乘型整数组件指令。当然,在我们的级别上,这只是一个*
,但这是编译器的主要目的 - 生成所需结果所需的汇编代码。
在编译时编译器已知。当程序运行时,将根据编译代码操纵内存区域。这就是为什么C 和C#强制定义源代码中的类型。
相关文章:
- 努力将整数转换为链表。不知道我在这里做错了什么
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 叮当不知道PTRDIFF_MAX?
- 如何在不知道向量大小的情况下输入向量内部的向量?
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 我正在尝试使用 c++ 创建一个货币转换程序,我不知道如何继续
- Python中的for循环与C++有何不同
- 不知道某个东西是否被忽略会引入未定义的行为吗
- 我想知道长双倍和双倍之间的区别
- 我需要知道编译器如何在cpp中使用析构函数
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 如何知道QDataStream不能反序列化某些内容
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 如何知道整数中的位数
- 我该如何编码,使计算机知道两个名称条目和三个名称条目之间的区别
- 如果无法通过查看位来分析该值的类型,那么计算机如何知道应如何操纵值
- 只是想知道这条线对计算机的作用/意味着什么