深入理解计算机系统(2)

引言:在第一章提到,作为程序员,我们需要了解数据数据的机器表示方式,因为它们与实际的整数与实数是不同的,它们是对真值的有效近似值,有时候会有意想不到的行为表现,而这方面的基本内容会在第2章详细讲述。
一、十六进制表示法
二进制表示法太冗长二十进制表示法与位模式转换太麻烦,所以以十六为基数,用十六进制表示法;并要记住A为10,C为12,E为14;以及十进制2对应二进制0010,4对应二进制0100,6对应二进制0110,8对应二进制1000,10(A)对应二进制1010,12(C)对应二进制1100,14(E)对应二进制1110;一串二进制数字,先分成四位一组,不是四的倍数就在左边填0,然后转换
十六进制计算:逢十六进一,借一当十六
二、信息
深入理解计算机系统(2)_第1张图片
注:
(1)M32与M64除指针类型外都一样,其中注意long与int一样,因此可以不定义long类型。double和long double也一样。
(2)最高位为MSB(maximum significant bit)、最低位为LSB(least significant bit),significant表示‘权’
(3)字:CPU中ALU的数据位数即运算器能做多少位的计算或通用寄存器的位数;
(4)操作系统的位数:其与CPU的位数关系不大。其是指操作系统工作时CPU的运行模式(32位模拟还是64位)。如64位的CPU装32位的操作系统。而且操作系统是多少位的还与操作系统的库函数有关(看是32位库函数还是64位库函数)。所以虽然硬件平台是64位,但如果操作系统是32位,则不能运行64位程序,因为库函数是32位的且CPU的模式是模拟32位。同样64位操作系统也未必能运行32位程序,因为缺少32位库函数等包。

你可能感兴趣的:(计算机系统)