计算机信息的表示和处理

现代计算机存储和处理的信息以二值信号表示。这些微不足道的二进制数字(位)形成了数字革命的基础。

三种重要的数字表示。无符号编码基于传统的二进制表示法,表示大于或者等于0的数字,有符号整数就是可以为正或者负的数字。浮点数编码是表示实数的科学计数法的以2为基数的版本。计算机用这些不同的表示方法实现算数运算。

一、信息存储

大多数计算机使用8位的块或者字节作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,成为虚拟内存。内存的每个字节都由一个唯一的数字来标识称为它的地址,所有可能的地址的集合称为虚拟地址空间。

十六进制表示法(0-9,A-F),下图展示了16进制对应的十进制和二进制的值

16

C语言中以0X开头的数字常亮被认为是16进制的值,字符A-F可以大小写。

2进制转换16进制 比如0011101 从左到右4个位一组,不足4个前面补0.所以可以分为0001和1101.可以用8421法进行转换即第一组计算为0x2^3+0x2^2+0x2^1+1x2^0 = 1,第二组可以计算变成1x2^3+1x2^2+0x2^1+1x2^0=13,13对于的16进制是D,所以改组二进制转换16进制为1D

16进制转换2进制一样的方法。比如16进制3F换成2进制用8421法第一个数字3那就只能是2+1的可能,所以前面两个数字都是0,第一组即为0011,F对应数字是15,所以也只有8+4+2+1=15,即1111,所以3F对应的二进制是00111111.

二、字数据大小

每台计算机都有一个字长,指明指针数据的标称大小。

size

三、寻址和字节顺序

对于跨越多字节的程序对象,我们必须建立两个规则:这个对象的地址是什么,以及在内存中如何排列这些字节。

gz


版权声明:本文为XiaToxic原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。