一个字节占8个位,计算机中最小的可寻址的存储器单位。 机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器。 存储器的每个字节都由一个唯一的数字来标识,称为它的地址。 所有这些可能的地址的集合称为虚拟地址空间。
十进制和十六进制之间的转换 使用python脚本
#! /usr/local/bin/python3 #Created on Sep 17th,2017 #author walt740 #module:hex_dec #note:Translation between hexadecimal and decimal numbers on the commandline arguments import sys import re def hex_to_dec(hex_num): print("{} = {}".format(hex_num,int(hex_num,16))) def dec_to_hex(dec_num): print("{} = {}".format(hex(int(dec_num,10)),dec_num)) if __name__ == '__main__': for i in sys.argv[1:]: if re.match('^0x.*|^0X.*',i): hex_to_dec(i) else: dec_to_hex(i)一个字长为w位的机器,虚拟地址的范围位0 ~ $2^{w-1}$,程序最多访问$2^w$个字节。
由于计算机位数的不同,会造成在数据类型的存储上,采用的位数略有不同,下表是在32位和64位机器下,C语言当中的数字数据类型需要的位数。 可以看出,对于长整形以及字符指针类型来说,在32位和64位系统下的字节数是不同的。特别的,对于指针类型来说,所有指针类型在32位下都是4位,而在64位下都是8位,这是由虚拟地址空间的地址位数或者说字长所决定的。
PYTHON实现十六进制与十进制的转换
转载于:https://www.cnblogs.com/BinBinStory/p/7529343.html