第二章半复习

三种重要的数字表示:

1无符码编码:

表示大于或等于零的数字,基于传统的二进制表示。

2 补码编码:

表示有符号整数的的最常见的方式,可以是正数也可以是负数。

3 浮点数编码:

表示实数的科学计数法的以二为基础的版本。(运算中不可结合)

溢出:

计算机的表示法是有限数量的位来对一个数字编码,因此当结果太大以致不能表示时,某些运算就会溢出。

大量计算机的安全漏洞是由于计算机算术运算的微妙细节引发的

虚拟存储器:

大多数计算机使用8位的字节(byte),作为最小的可寻址的存储单位。机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器。存储器的每个字节都有一个唯一的数字来标识,称为地址,都有可能的地址的集合称为虚拟地址空间。

指针:

指针有两个方面:值和类型。值表示某个对象的位置,而类型表示那个位置上所存储的对象的类型(比如整数或浮点数)

十六进制表示法:

二进制和十进制不是太方便,所以用十六进制(hex)使用数字"0"~"9"和字符"A"~"F"来表示16个可能的值,一个字节的值域为00~~FF。

在c语言中Ox或OX表示十六进制的值。字符“A”~“F”既可以用小写也可以用大写,或大小混合。

十进制转换为十六进制的命令行:

#!/uer/local/bin/perl

#Convert list of decimal number into hex

for($i=0; $i<@ARGV; $i++){

     printf("%d = Ox/%x ", $ARGV[$i],$ARGV[$i]);

}

一旦这个文件可执行,即命令

unix> ./d2h 100 500 751

会产生输出;

c语言中数字数据类型的字节数:

字:

整数和指针数数据的标称大小。

每个以“%”开始的字符序列如何格式化下一个参数。“%d”是输出一个十进制整数。“%f”输出一个浮点数。“%c”输出一个字符。

原文地址:https://www.cnblogs.com/dj20145339/p/5958856.html