• 信息的储存


    信息的储存

    大多计算机使用8位的块(字节)作为最小的可寻址的储存器单位。每个字节都对应一个整数即它的地址,通常是以16进制表示。

    为什么选择16进制?

    因为2进制表示起来太过于冗长且容易出错,故使用16进制。并且16进制和2进制之间的转换很方便。

    2进制与16进制之间的转换

    2进制 16进制
    0000 0x0
    0001 0x1
    0010 0x2
    0011 0x3
    0100 0x4
    0101 0x5
    0110 0x6
    0111 0x7
    1000 0x8
    1001 0x9
    1010 0xA
    1011 0xB
    1100 0xC
    1101 0xD
    1110 0xE
    1111 0xF

    16进制向2进制转换,直接将每个16进制数字替换成对应的2进制数字即可。

    例如0x7A转换成2进制就是 01111010,把前导零省略就是1111010

    2进制向16进制转换,要用前导零把2进制的01序列长度补充至4的倍数,然后每4个2进制数字替换成16进制数字。

    例如11011转换成16进制。 第一步补前导零,11011长度为5,补充三个前导零:0001 1011,转换成16进制就是0x1B

    C语言中一个整数或者一个结构体的地址就是其所占字节序列中第一个(地址最小)字节的地址。

    如果一个int整数占4个字节,那这个int的地址就是第一个字节的地址。

    字长

    每个机器都有一个字长,指明指针的标称大小。字长为32位的机器虚拟空间就是4GB。

    大端与小端

    假设一个int的值为0x0123456701,23,45,67一共四个字节,他们在内存里是怎么排列的呢?

    小端也就是我们平常所用的Intel芯片的电脑是这样排列的:低位在低地址,高位在高地址。

    而大端正好相反。

  • 相关阅读:
    [图论训练]1143: [CTSC2008]祭祀river 二分图匹配
    [图论训练]BZOJ 2118: 墨墨的等式 【最短路】
    HDU 5402 : Travelling Salesman Problem
    [图论训练]BZOJ 3245: 最快路线【最短路】
    BZOJ 1724: [Usaco2006 Nov]Fence Repair 切割木板
    Android 全屏方法
    【转载】差分约束
    BZOJ 1688: [Usaco2005 Open]Disease Manangement 疾病管理
    Pain for friend
    BZOJ 1739: [Usaco2005 mar]Space Elevator 太空电梯
  • 原文地址:https://www.cnblogs.com/rookiezjz/p/13617472.html
Copyright © 2020-2023  润新知