精华内容
下载资源
问答
  • 字节顺序的问题

    2011-11-25 11:17:08
    字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节 为基本单位来解释信息,规定1个字节是8个二进制位。 通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数...
    一、基本概念

    位的概念:在计算机中,一个0或1称为一位(bit)。

    字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节
    为基本单位来解释信息,规定1个字节是8个二进制位。

    通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个字节存放。
    下面列表C语言中定义类型所占字节以及数据范围。


    类型标识符 类型说明 长度(字节) 范围 备注

    char 字符型 1 -128 ~ 127 -2^7~(2^7-1)
    unsigned char 无符字符型 1 0 ~ 255 0~(2^8-1)
    short int 短整型 2 -32768 ~ 32767 -2^15~(2^15-1)
    unsigned short int 无符短整型 2 0 ~ 65535 0~(2^16-1)
    int 整型 4 -2147483648 ~ 2147483647 -2^31~(2^31-1)
    unsigned int 无符整型 4 0 ~ 4294967295 0~(2^32-1)
    float 实型(单精度) 4 1.18*10-38 ~ 3.40*1038 7位有效位
    double 实型(双精度) 8 2.23*10-308 ~ 1.79*10308 15位有效位
    long double 实型(长双精度) 10 3.37*10-4932 ~ 1.18*104932 19位有效位


    二、字节顺序由来

    我们在写字符流时,因为字符型只占一个字节数,计算机只须按一个字符一个字符
    写入文件即可。但是如果是处理整型时,由于整型占4个字节,所以一个整型内部的
    字节存储排列的顺序直接关系到被计算机识别出来的整型值。某种意义上也可直接
    理解计算机的识别顺序就是所谓的字节顺序。


    三、一些有关字节顺序的解释

    不同的计算机结构有时使用不同的字节顺序存储数据。例如,基于Intel的计算机存储数据
    的顺序与Macintosh(Motorola)计算机就是相反的。Intel字节顺序称为“Little-Endian”,
    反之Macintosh(Motorola),还有网络上采用标准是“Big-Endian”。在将应用程序从一种架
    构类型迁移至另一种架构类型的过程中,经常会遇到字节排列顺序(endianness)问题。
    字节排列顺序是数据元素及其单个字节在内存中存储和表示时的顺序。

    通过以上分析,会发现有两类字节排列顺序:big-endian (通常为网络字节顺序)和
    little-endian(主机字节顺序)。

    下面是这些术语的废话解释。

    Big-Endian 最重要的字节在整个内容的左端。
    Little-Endian 最重要的字节在整个内容的右端。
    对于big-endian处理器,在将字放在内存中时,是从最低位地址开始的,首先放入最重要的
    字节。另一方面,对于little-endian处理器,如Intel处理器,首先放入的是最不重要的字
    节。

    说完上面的概念还是很模糊,个人认为对于不了解的字节顺序的人绝对是废话,网上大多都
    是照搬照抄这几段废话。具体我们通过实际例子说明。


    四、这里的解释说明

    我们先看下面的代码,看完啥都明白了。

    这是运行在HP-UNIX 9000/800下完整的C语言代码,即为 Big-Endian 方式。

    #include <unistd.h>
    void main()
    {

    int i=0x41424344;

    printf("int Address:%x Value:%x/n",&i,i);
    printf("-------------------------------/n");

    char* pAddress=(char*)&i;
    int j;

    for(j=0;j<=3;j++)
    {
    printf("char Address:%x Value:%c/n",pAddress,*pAddress);
    pAddress++;
    }

    }

    编译输出(cc -g ...):

    int Address:7f7f08f0 Value:41424344
    -------------------------------
    char Address:7f7f08f0 Value:A
    char Address:7f7f08f1 Value:B
    char Address:7f7f08f2 Value:C
    char Address:7f7f08f3 Value:D

    我们回到Windows XP下,看看这段代码的输出。Little-Endian 模式。

    #include <stdio.h>
    void main()
    {
    int i=0x41424344;
    printf("int Address:%x Value:%x/n",&i,i);
    printf("-------------------------------/n");
    char* pAddress=(char*)&i;
    int j;
    for(j=0;j<=3;j++)
    {
    printf("char Address:%x Value:%c/n",pAddress,*pAddress);
    pAddress++;
    }
    }

    编译输出(VC 6.0):

    int Address:12ff7c Value:41424344
    -------------------------------
    char Address:12ff7c Value:D
    char Address:12ff7d Value:C
    char Address:12ff7e Value:B
    char Address:12ff7f Value:A



    看完上面代码,应该就很清楚了,什么字节顺序?真是简单的要死!int i=0x41424344;
    采用16进制,我们知道A的ACSII码是65,16进制就是41,可以理解,本例是想通过输出
    A,B,C,D来验证字节顺序。我再对内存数据进行列表,相信会更有深层次的理解。


    Big-Endian的内存放置顺序如下:

    地址:0x7f7f08f0 0x7f7f08f1 0x7f7f08f2 0x7f7f08f3

    0x41 0x42 0x43 0x44

    Little-Endian的内存放置顺序如下:

    地址:0x0012ff7c 0x0012ff7d 0x0012ff7e 0x0012ff7f

    0x44 0x43 0x42 0x41

    五、最后的说明

    主机字节顺序(Host)
    Little-Endian [ Intel、VAX和Unisys处理器 等]
    网络字节顺序(Network)
    Big-Endian [ IBM 370、Motorola和大多数RISC设计 ---- IBM 大型机和大多数Unix平台 ]

    字节转换多半应用在网络编程,或者代码移植的情况下。
    Unix环境下的一些相关函数:(必须包含头文件 #include <netinet/in.h>)

    htons()--"Host to Network Short"
    htonl()--"Host to Network Long"
    ntohs()--"Network to Host Short"
    ntohl()--"Network to Host Long"

    Windows .Net 一些相关函数:

    HostToNetworkOrder
    NetworkToHostOrder

    注:转载这篇文章的人比较多,所以我也不清楚谁是原创,作为感谢,我只能把我阅读到的转载这篇文章的Blog地址放在这里:
    http://blog.csdn.net/yingfox/archive/2007/10/18/1831848.aspx
    展开全文
  • A、自编的一个C程序,功能是求解一个一元二次方程B、WINDOWS操作系统C、用汇编语言编写的一个练习程序D、存储有计算机基本输入输出系统的ROM芯片2、存储一个汉字内码的两个字节中,每个字节的最高位是_______。...

    一、选择题

    1、下列软件中____一定是系统软件。

    A、自编的一个C程序,功能是求解一个一元二次方程

    B、WINDOWS操作系统

    C、用汇编语言编写的一个练习程序

    D、存储有计算机基本输入输出系统的ROM芯片

    2、在存储一个汉字内码的两个字节中,每个字节的最高位是_______。

    A、1和1B、1和0C、0和1D、0和0

    3、一张CD-ROM盘片可存放字节数是______。

    A、640KBB、640MBC、1024KBD、512KB

    4、目前普遍使用的微型计算机,所采用的逻辑元件是______。

    A、电子管B、大规模和超大规模集成电路C、晶体管D、小规模集成电路

    5、下列一组数据中的最大数是______。

    A、227(8)B、1FF(16)C、1010001(2)D、789(10)

    6、80386SX是______位微处理器芯片。

    A、32B、准32C、64D、16

    7、以下属于高级语言的有____。

    A、汇编语言B、C语言C、机器语言D、以上都是

    8、计算机辅助设计的英文缩写是____。

    A、CAIB、CAMC、CADD、CAT

    9、计算机辅助教学的英文缩写是____。

    A、CAIB、CAMC、CADD、CAT

    10、如果一个存储单元能存放一个字节,那么一个32KB的存储器共有____个存储单元。

    A、32000B、32768C、32767D、65536

    11、十进制数0.6531转换为二进制数为____。

    A、0.100101B、0.100001C、0.101001D、0.011001

    12、微型计算机外(辅)存储器是指____。

    A、RAMB、ROMC、磁盘D、虚盘

    13、在Word中,当多个文档打开时,关于保存这些文档的说法中正确的是______。

    A、只能保存活动文档

    B、用“文件”菜单的“保存”命令,可以重命名保存所有文档

    C、用“文件”菜单的“保存”命令,可一次性保存所有打开的文档

    D、用“文件”菜单的“全部保存”命令保存所有打开的文档

    14、在Word中,______用于控制文档在屏幕上的显示大小。

    A、全屏显示B、显示比例C、缩放显示D、页面显示

    15、Word在正常启动之后会自动打开一个名为______的文档。

    A、1.DOCB、1.TXTC、DOC1.DOCD、文档1

    16、在Word中,关于表格自动套用格式的用法,以下说法正确的是______。

    A、只能直接用自动套用格式生成表格

    B、可在生成新表时使用自动套用格式或插入表格的基础上使用自动套用格式

    C、每种自动套用的格式已经固定,不能对其进行任何形式的更改

    D、在套用一种格式后,不能再更改为其它格式

    17、在Word中,如果当前光标在表格中某行的最后一个单元格的外框线上,按ENTER键后,______。

    A、光标所在行加宽B、光标所在列加宽C、在光标所在行下增加一行D、对表格不起作用

    18、在Word中,______的作用是决定在屏幕上显示文本内容。

    A、滚动条B、控制框C、标尺D、最大化按钮

    19、要在Word中建一个表格式履历表,最简单的方法是______。

    A、用插入表格的方法 B、在新建中选择具有履历表格式的空文档

    C、用绘图工具进行绘制D、在“表格”菜单中选择表格自动套用格式

    20、在Word中,如果插入的表格其内外框线是虚线,要想将框线变成实线,在______中实现。(假使光标在表格中)

    A、在菜单“表格”的“虚线”B、在菜单“格式”的“边框和底纹”

    C、在菜单“表格”的“选中表格”D、在菜单“格式”的“制表位”转贴于265考试网

    21、在Word中,保存一个新建的文件后,要想此文件不被他人查看,可以在保存的“选项”中设置______。

    A、修改权限口令B、建议以只读方式打开C、打开权限口令D、快速保存

    22、在Word文档中加入复杂的数学公式,执行______命令。

    A、“插入”菜单中的对象B、“插入”菜单中的数字

    C、“表格”菜单中的公式D、“格式”菜单中的样式

    23、在Excel工作表的单元格中输入公式时,应先输入_______号。

    A、’’B、"C、&D、=

    24、在Excel97中,在打印学生成绩单时,对不及格的成绩用醒目的方式表示(如用红色表示等),当要处理大量的学生成绩时,利用
    ________命令最为方便。

    A、查找B、条件格式C、数据筛选D、定位

    25、在Excel中,A1单元格设定其数字格式为整数,当输入“33.51”时,显示为_______。

    A、33.51B、33C、34D、ERROR

    26、如要关闭工作簿,但不想退出Excel,可以单击________。

    A、“文件”下拉菜单中的“关闭”命令B、“文件”下拉菜单中的“退出”命令

    C、关闭Excel窗口的按钮×D、“窗口”下拉菜单中的“隐藏”命令

    27、Excel97中,让某单元格里数值保留二位小数,下列_______不可实现。

    A、选择“数据”菜单下的“有效数据”

    B、选择单元格单击右键,选择“设置单元格格式”

    C、选择工具条上的按钮“增加小数位数”或“减少小数位数”

    D、选择菜单“格式”,再选择“单元格...”

    28、在Excel中按文件名查找时,可用________代替任意单个字符。

    A、?B、*C、!D、%

    29、在Excel中,用户在工作表中输入日期,_______形式不符合日期格式。

    A、’’20-02-2000’’B、02-OCT-2000C、2000/10/01D、2000-10-01

    30、在Excel97的打印页面中,增加页眉和页脚的操作是_________。

    A、执行[文件]菜单中的[页面设置],选择[页眉/页脚]B、执行[文件]菜单中的[页面设置],选择[页面]

    C、执行[插入]菜单中的[名称],选择[页眉/页脚]D、只能在打印预览中设置

    31、在Excel工作表中已输入的数据如下所示:

    ABCDE

    153

    278=$C$1+C2

    如将D2单元格中的公式复制到B2单元格中,则B2单元格的值为_______。

    A、5B、10C、11D、#REF!

    32、在Excel中,使用格式刷将格式样式从一个单元格传送到另一个单元格,其步骤为________。

    1)选择新的单元格并单击它

    2)选择想要复制格式的单元格

    3)单击“常用”工具栏的“格式刷”按钮

    A、1)2)3)B、2)1)3)C、1)3)2)D、2)3)1)

    33、下列程序不属于附件的是______。

    A、计算器B、记事本C、网上邻居D、画笔

    34、Windows默认的启动方式是______。

    A、安全方式B、通常方式C、具有网络支持的安全方式D、MS-DOS方式

    35、关于“开始”菜单,说法正确的是______。

    A、“开始”菜单的内容是固定不变的

    B、可以在“开始”菜单的“程序”中添加应用程序,但不可以在“程序”菜单中添加

    C、“开始”菜单和“程序”里面都可以添加应用程序

    D、以上说法都不正确

    36、关于Windows的文件名描述正确的是______。

    A、文件主名只能为8个字符B、可长达255个字符,无须扩展名

    C、文件名中不能有空格出现D、可长达255个字符,同时仍保留扩展名

     

    46、______是指连入网络的不同档次、不同型号的微机,它是网络中实际为用户操作的工作平台,它通过插在微机上的网卡和连接电缆与网络
    服务器相连。

    A、网络工作站B、网络服务器C、传输介质D、网络操作系统

    47、目前网络传输介质中传输速率最高的是______。

    A、双绞线B、同轴电缆C、光缆D、电话线

    48、在下列四项中,不属于OSI(开放系统互连)参考模型七个层次的是______。

    A、会话层B、数据链路层C、用户层D、应用层

    49、______是网络的心脏,它提供了网络最基本的核心功能,如网络文件系统、存储器的管理和调度等。

    A、服务器B、工作站C、服务器操作系统D、通信协议

    50、电子邮件是Internet应用最广泛的服务项目,通常采用的传输协议是______。

    A、SMTPB、TCP/IPC、CSMA/CDD、IPX/SPX

    51、PowerPoint中,有关选定幻灯片的说法中错误的是_______。

    A、在浏览视图中单击幻灯片,即可选定。

    B、如果要选定多张不连续幻灯片,在浏览视图下按CTRL键并单击各张幻灯片。

    C、如果要选定多张连续幻灯片,在浏览视图下,按下shift键并单击最后要选定的幻灯片。

    D、在幻灯片视图下,也可以选定多个幻灯片。

    52、PowerPoint中,要切换到幻灯片的黑白视图,请选择________。

    A、视图菜单的“幻灯片浏览”B、视图菜单的“幻灯片放映”

    C、视图菜单的“黑白” D、视图菜单的“幻灯片缩图”

    53、PowerPoint中,有关幻灯片母版中的页眉页脚下列说法错误的是_______。

    A、页眉或页脚是加在演示文稿中的注释性内容

    B、典型的页眉/页脚内容是日期、时间以及幻灯片编号

    C、在打印演示文稿的幻灯片时,页眉/页脚的内容也可打印出来

    D、不能设置页眉和页脚的文本格式转贴于265考试网

    54、PowerPoint中,在浏览视图下,按住CTRL并拖动某幻灯片,可以完成________操作。

    A、移动幻灯片B、复制幻灯片C、删除幻灯片D、选定幻灯片

    55、PowerPoint中,有关备注母版的说法错误的是_______。

    A、备注的最主要功能是进一步提示某张幻灯片的内容。

    B、要进入备注母版,可以选择视图菜单的母版命令,再选择“备注母版”。

    C、备注母版的页面共有5个设置:页眉区、页脚区、日期区、幻灯片缩图和数字区。

    D、备注母版的下方是备注文本区,可以像在幻灯片母版中那样设置其格式。

    二、填空题

    1、计算机的语言发展经历了三个阶段,它们是:____阶段、汇编语言阶段和____阶段。

    2、8位二进制数为一个____,它是计算机中基本的数据单位。

    3、在Word中,必须在_____视图方式或打印预览中才会显示出用户设定的页眉和页脚。

    4、在Word中,查找范围的缺省项是查找____。

    5、为了保证打印出来的工作表格式清晰、美观,完成页面设置后,在打印之前通常要进行_________。

    6、根据生成的图表所处位置的不同,可以将其分为________图表和________图表。

    7、___是Windows提供的一个图像处理软件,我们可以通过它绘制一些简单的图形。

    8、在启动Windows的过程中,应按____键可以直接进入MS-DOS系统。

    9、____过程将数字化的电子信号转换成模拟化的电子信号,再送上通信线路。

    10、在一个演示文稿中______(能、不能)同时使用不同的模板。

    答案:

    一、选择题
        01、B 02、A 03、B 04、B 05、D 06、B 07、B 08、C 09、A 10、B
        11、C 12、C 13、D 14、B 15、D 16、B 17、C 18、A 19、B 20、B
        21、C 22、A 23、D 24、B 25、C 26、A 27、A 28、A 29、A 30、A
        31、B 32、D 33、C 34、B 35、C 36、D 37、D 46、A 47、C 48、C 49、C 50、A
        51、D 52、C 53、D 54、B 55、C

    二、填空题
        1、机器语言、高级语言
        2、字节或BYTE
        3、页面
        4、整个文档
        5、打印预览
        6、嵌入式、独立式
        7、画图
        8、F4或F8
        9、调制或数/模转换或D/A转换或D/A
        10、不能

    展开全文
  • 在计算机中,一个0或1称为一位(bit)。 字节:连续的八位称为一个字节(Byte),字节是计算机中单独处理的最小单位。 即以字节为基本单位来解释信息,规定1个字节是8个二进制位。 通常1个ASCII码用1个字节存放,1个...

    一、基本概念位的概念:

    在计算机中,一个0或1称为一位(bit)。

    字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。
    即以字节为基本单位来解释信息,规定1个字节是8个二进制位。
    通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个字节存放。

    二、字节顺序由来

    在写字符流时,因为字符型只占一个字节数,计算机只须按一个字符一个字符写入文件即可。
    但是如果是处理整型时,由于整型占4个字节,所以一个整型内部的字节存储排列的顺序直接关系到被计算机识别出来的整型值.
    某种意义上也可直接理解计算机的识别顺序就是所谓的字节顺序。

    三、一些有关字节顺序的解释

    不同的计算机结构有时使用不同的字节顺序存储数据。
    例如,基于Intel的计算机存储数据的顺序与Macintosh(Motorola)计算机就是相反的。
    Intel字节顺序称为“Little-Endian”,反之Macintosh(Motorola),还有网络上采用标准是“Big-Endian”。
    在将应用程序从一种架构类型迁移至另一种架构类型的过程中,经常会遇到字节排列顺序(endianness)问题。
    字节排列顺序是数据元素及其单个字节在内存中存储和表示时的顺序。

    通过以上分析,会发现有两类字节排列顺序:
    big-endian (通常为网络字节顺序)和
    little-endian(主机字节顺序)。
    目前应该little endian是主流
    下面是这些术语的解释:
    Big-Endian        最重要的字节在整个内容的左端。
    Little-Endian     最重要的字节在整个内容的右端。
    Big Endian
      低地址                                            高地址
      高位字节                                          低位字节
       ----------------------------------------->
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     12     |      34    |     56      |     78    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Little Endian
      低地址                                            高地址
      低位字节                                          高位字节
       ----------------------------------------->
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     78     |      56    |     34      |     12    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    对于big-endian处理器,在将字放在内存中时,是从最低位地址开始的,首先放入最重要的字节。
    对于little-endian处理器,如Intel处理器,首先放入的是最不重要的字节。

    四、ORACLE中通过查看V$TRANSPORTABLE_PLATFORM视图查看各主机OS平台是属于大/小字节序

    BYS@ bys3>col PLATFORM_NAME for a40
    BYS@ bys3>select PLATFORM_ID,PLATFORM_NAME from v$database;  查当前平台的字节情况
    PLATFORM_ID PLATFORM_NAME
    ----------- --------------------
             10 Linux IA (32-bit)

    BYS@ bys3>select * from V$TRANSPORTABLE_PLATFORM;
    PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT
    ----------- ---------------------------------------- --------------
              1 Solaris[tm] OE (32-bit)                  Big
              2 Solaris[tm] OE (64-bit)                  Big
              7 Microsoft Windows IA (32-bit)            Little
             10 Linux IA (32-bit)                        Little
              6 AIX-Based Systems (64-bit)               Big
              3 HP-UX (64-bit)                           Big
              5 HP Tru64 UNIX                            Little
              4 HP-UX IA (64-bit)                        Big
             11 Linux IA (64-bit)                        Little
             15 HP Open VMS                              Little
              8 Microsoft Windows IA (64-bit)            Little
              9 IBM zSeries Based Linux                  Big
             13 Linux x86 64-bit                         Little
             16 Apple Mac OS                             Big
             12 Microsoft Windows x86 64-bit             Little
             17 Solaris Operating System (x86)           Little
             18 IBM Power Based Linux                    Big
             19 HP IA Open VMS                           Little
             20 Solaris Operating System (x86-64)        Little
             21 Apple Mac OS (x86-64)                    Little
    20 rows selected.

    展开全文
  • 字节顺序的详细解释

    千次阅读 2007-10-18 22:46:00
    字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节为基本单位来解释信息,规定1个字节是8个二进制位。通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个...

    一、基本概念

    位的概念:在计算机中,一个0或1称为一位(bit)。

    字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节
    为基本单位来解释信息,规定1个字节是8个二进制位。

    通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个字节存放。
    下面列表C语言中定义类型所占字节以及数据范围。


    类型标识符         类型说明    长度(字节)  范围                       备注

    char               字符型           1      -128 ~ 127                -2^7~(2^7-1)
    unsigned char      无符字符型       1      0 ~ 255                    0~(2^8-1)
    short int          短整型           2      -32768 ~ 32767           -2^15~(2^15-1)
    unsigned short int 无符短整型       2      0 ~ 65535                  0~(2^16-1)
    int                整型             4      -2147483648 ~ 2147483647 -2^31~(2^31-1)
    unsigned int       无符整型         4      0 ~ 4294967295             0~(2^32-1)
    float              实型(单精度)   4      1.18*10-38 ~ 3.40*1038     7位有效位
    double             实型(双精度)   8      2.23*10-308 ~ 1.79*10308   15位有效位
    long double        实型(长双精度) 10     3.37*10-4932 ~ 1.18*104932 19位有效位


    二、字节顺序由来

    我们在写字符流时,因为字符型只占一个字节数,计算机只须按一个字符一个字符
    写入文件即可。但是如果是处理整型时,由于整型占4个字节,所以一个整型内部的
    字节存储排列的顺序直接关系到被计算机识别出来的整型值。某种意义上也可直接
    理解计算机的识别顺序就是所谓的字节顺序。


    三、一些有关字节顺序的解释

    不同的计算机结构有时使用不同的字节顺序存储数据。例如,基于Intel的计算机存储数据
    的顺序与Macintosh(Motorola)计算机就是相反的。Intel字节顺序称为“Little-Endian”,
    反之Macintosh(Motorola),还有网络上采用标准是“Big-Endian”。在将应用程序从一种架
    构类型迁移至另一种架构类型的过程中,经常会遇到字节排列顺序(endianness)问题。
    字节排列顺序是数据元素及其单个字节在内存中存储和表示时的顺序。

    通过以上分析,会发现有两类字节排列顺序:big-endian (通常为网络字节顺序)和
    little-endian(主机字节顺序)。

    下面是这些术语的废话解释。

    Big-Endian        最重要的字节在整个内容的左端。 
    Little-Endian     最重要的字节在整个内容的右端。 
    对于big-endian处理器,在将字放在内存中时,是从最低位地址开始的,首先放入最重要的
    字节。另一方面,对于little-endian处理器,如Intel处理器,首先放入的是最不重要的字
    节。

    说完上面的概念还是很模糊,个人认为对于不了解的字节顺序的人绝对是废话,网上大多都
    是照搬照抄这几段废话。具体我们通过实际例子说明。


    四、这里的解释说明

      我们先看下面的代码,看完啥都明白了。
      
      这是运行在HP-UNIX 9000/800下完整的C语言代码,即为 Big-Endian 方式。
      
      #include <unistd.h>
      void main()
      {
      
      int i=0x41424344;
      
      printf("int  Address:%x Value:%x/n",&i,i);
      printf("-------------------------------/n");
      
      char* pAddress=(char*)&i;
      int j;
      
      for(j=0;j<=3;j++)
      {
       printf("char Address:%x Value:%c/n",pAddress,*pAddress);
       pAddress++;
      }
      
      }
      
      编译输出(cc -g ...):
      
      int  Address:7f7f08f0 Value:41424344
      -------------------------------
      char Address:7f7f08f0 Value:A
      char Address:7f7f08f1 Value:B
      char Address:7f7f08f2 Value:C
      char Address:7f7f08f3 Value:D

        我们回到Windows XP下,看看这段代码的输出。Little-Endian 模式。
       
      #include <stdio.h>
      void main()
      {
       int i=0x41424344;
       printf("int  Address:%x Value:%x/n",&i,i);
       printf("-------------------------------/n");
       char* pAddress=(char*)&i;
       int j;
       for(j=0;j<=3;j++)
       {
        printf("char Address:%x Value:%c/n",pAddress,*pAddress);
        pAddress++;
       }
      }

      编译输出(VC 6.0):
      
      int  Address:12ff7c Value:41424344
      -------------------------------
      char Address:12ff7c Value:D
      char Address:12ff7d Value:C
      char Address:12ff7e Value:B
      char Address:12ff7f Value:A
       
      

        看完上面代码,应该就很清楚了,什么字节顺序?真是简单的要死!int i=0x41424344;
        采用16进制,我们知道A的ACSII码是65,16进制就是41,可以理解,本例是想通过输出
        A,B,C,D来验证字节顺序。我再对内存数据进行列表,相信会更有深层次的理解。
       

      Big-Endian的内存放置顺序如下:
      
      地址:0x7f7f08f0  0x7f7f08f1  0x7f7f08f2  0x7f7f08f3
      
            0x41        0x42        0x43        0x44
         
      Little-Endian的内存放置顺序如下:

      地址:0x0012ff7c  0x0012ff7d  0x0012ff7e  0x0012ff7f
      
            0x44        0x43        0x42        0x41

    五、最后的说明

      主机字节顺序(Host)
      Little-Endian [ Intel、VAX和Unisys处理器 等]
      网络字节顺序(Network)
      Big-Endian [ IBM 370、Motorola和大多数RISC设计 ---- IBM 大型机和大多数Unix平台 ]

      字节转换多半应用在网络编程,或者代码移植的情况下。
      Unix环境下的一些相关函数:(必须包含头文件 #include <netinet/in.h>)
      
      htons()--"Host to Network Short"
      htonl()--"Host to Network Long"
      ntohs()--"Network to Host Short"
      ntohl()--"Network to Host Long"
      
      Windows .Net 一些相关函数:
      
      HostToNetworkOrder
      NetworkToHostOrder
      

     
    展开全文
  • 字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节为基本单位来解释信息,规定1个字节是8个二进制位。 通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实...
  • 字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节为基本单位来解释信息,规定1个字节是8个二进制位。通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个...
  • shell是一个命令行解释器,如果你输入的命令不是内置的shell命令,shell就假定,这是一个可执行文件的名字,就加载并运行这个文件 总线 携带信息字节并负责各个组件之间传递 总线传送定长的字节
  • 浮点型变量在计算机内存占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。 一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent (注意,公式的mantissa 和 exponent使用二进制表示) 底数...
  • 字节对齐的问题

    2011-04-06 16:25:00
    符型(char)数据占一个字节,短整型(short)数据占两个字节,等等。计算机为了快速的读写数据,默认情况下将数据存放在某个地址的起始位置, 如:整型数据(int)默认存储地址能被4整除的起始位置,字符型数据...
  • 位或比特(bit):一个电子线路单元称为一个"位",它有两个状态"0",...字(word):若干个字节组成一个“字”,可以存放一条计算机指令或一条数据。 字长:CPU内每个字包含的二进制的长度。字长越长,相同...
  • 文本文件(也称为ASCⅡ文件):它的每一个字节存放的是表示为一个字符的ASCⅡ代码的文件,它是以“行”为基本结构的一种信息组织和存储方式的文件,可用任何文字处理程序阅读的简单文本文件。 虽然文件分为二进制...
  • 数字(电子)文本 文字信息在计算机中称为文本(Text...我们通常使用一个字节(8位)来存放一个ASCII码,每个字节多出来的一位(最高位)在计算机内部通常保持0,而在数据传输是有时用作奇偶校验位 汉字的编码 ...
  • 文件是在计算机内存以二进制...文本文件(也称为ASCⅡ文件):它的每一个字节存放的是表示为一个字符的ASCⅡ代码的文件,它是以“行”为基本结构的一种信息组织和存储方式的文件,可用任何文字处理程序阅读的简单文
  • 有2048个存储单元,每个存储单元存放1个字节 B.有2048个存储单元,每个存储单元存放8个字节 C.有2000个有储单元,每个存储单元存放8位二进制数 D.有16K个存储单元,每个存储单元存放1位二进制数 6.存储器设计,常用...
  • ② 在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; ③ 对各种数据结构进行的运算。 2. 逻辑结构 数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此...
  • 具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同。前者叫逻辑(相对)地址,后者叫物理(绝对)地址。 •重定位:将逻辑地址转换为物理地址。 •虚拟存储管理...
  • C 存放一个字节的所有存贮元集合 D 存放两个字节的所有存贮元集合; 5. 相联存贮器是按______进行寻址的存贮器。 A 地址方式 B 堆栈方式 C 内容指定方式 D 地址方式与堆栈方式 6. 变址寻址方式,操作数的有效...
  • 该CPU,所有寄存器都是16位,可以存放个字节(即0到65535之间)。为简单起见,我们只是用其中AX,BX,CX,DX四个通用寄存器。其中,每个寄存器又分为两个独立使用的8位寄存器: AX分为AH和...
  • 我们将8个比特(Bit)称为一个字节(Byte),并将字节作为最小的操作单元。我们不妨先从最简单的整数说起,看看它是如何放到内存去的。变量(Variable)现实生活我们会找一个小箱子来存放物品,一来显得不那么凌乱,...
  • 首先,我们需要了解的是,在计算机磁盘存放的是字节,在网络传输的也是字节。将字节转换为我们识别的字符的过程就叫做编码,相反将字符转换成字节的过程就称之为解码。解码和编码都需要指定具体的编码方式,不同...
  • 每小题列出的四个备选项只有一个是符合题目要求的,请将其代码填写题后的括号内。错选、多选或未选均无分。 1.若二进制数为1111.101,则相应的十进制数为( )。 A.15.625 B.15.5 C.14.625 D. 14.5 2.下列设备...
  • 识别常见病毒,病毒一般是以隐藏形式藏匿在计算机的文件,要把文件的隐藏属性打开。每盘都有工具这选项,如下图所示: 49 五.常用DOS命令 60 第章COMS的设置 开机画面现在有两种,种为AMI公司开发的,...
  • 谭浩强C-指针(

    2013-06-03 22:03:00
    一、地址指针的基本概念计算机中所有数据存放在存储器中,一般将一个字节称为一个内存单元。C语言中整型数据占两字节,即两个内存单元;字符型数据占一个内存单元。为准确访问内存单元,须给内存单元编号,这编号也...
  • 指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章中已有详细的...
  • 在一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    默认情况下存在一个全局命名空间,所以命名空间外定义的类直接进到此全局命名空间,因而你可以不用定界符访问此类。 你同样可以定义嵌套命名空间。 Using #include 指示符被后跟命名空间名的 using 关键字代替...
  • 字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节为基本单位来解释信息,规定1个字节是8个二进制位。通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 141
精华内容 56
关键字:

在计算机中一个字节可存放