2024年 3月 27日

初识Fortran

Fortran全名为FORmula TRANslation(公式转换),被称为第一代(被推广使用的)高级编程语言(同时代还有ALGOL语言),最早是IBM为704计算机做科学计算,将公式翻译成机器码,...

进一步了解
2024年 3月 26日

数据类型长度是编译器决定的?

没错。不要看硬件和OS是32位或者64位,数据类型并不是直接与它们相关,而是编译器决定的。大部分编译器都会提供类似type_size的函数,以返回不同数据类型的大小,这个大小和编译器自身有关。

进一步了解
2024年 3月 26日

int类型和硬件寄存器有多统一?

Intel i386 32位设计的硬体,默认的数据寄存器、地址寄存器都是32位,即一次数据操作或者地址访问以32位为最优。C语言程序为了更好适应这种情况,大部分32位编译器都将int类型设计成4字节。...

进一步了解
2024年 3月 26日

int类型的长度为什么不统一?

以C语言为例,它为了支持不同硬件平台,在计算机早期,硬件资源包括内存资源非常紧张,C语言标准不能直接规定int类型就是16位或者32位,这样会造成其它平台不能运行。故,标准做了取舍,不规定int类型的...

进一步了解
2024年 3月 26日

究竟什么是一等公民?

顾名思义,一等公民是享受特权的阶层。在编程语言世界里,最有优势的无非是变量可以很简单的自由处理,包括创建、读取、修改、赋值和传递。而不是有的类型,需要额外代码生成,使用时需要给与特别保护,这种就不算一...

进一步了解
2024年 3月 26日

整型是一等公民?

大部分编程语言都将整型int(64位对应long)作为一等公民,从硬件的角度,int或者long也与寄存器位数一致(至少可兼容),这样访问起来方便快捷有效。 你还想知道:有符号和无符号数 基本数据类型...

进一步了解
2024年 3月 26日

int和long的区别

作为基本类型,一般而言,编译器对于int和long的大小设计是不同的。尤其是16位系统演变成32位系统和32位系统演变成64位系统,差异尤为明显。编译器为32位系统一般定义int为4字节,long同样...

进一步了解