首页 > 试题广场 >

假设在x86平台上,有一个int型变量,在内存中的内部由低到

[单选题]
假设在x86平台上,有一个int型变量,在内存中的内部由低到高分别是:0x12,0x34,0x56,0x78当通过网络发送该数据时,正确的发送顺序是()
  • 0x12,0x34,0x56,0x78
  • 0x78,0x56,0x34,0x12
  • 0x34,0x12,0x78,0x56
  • 0x56,0x78,0x12,0x34
想起来了被微机原理支配的恐惧
发表于 2019-09-14 21:45:50 回复(0)
数据在内存中的存储方式( Big Endian和Little Endian的区别 )(x86系列则采用little endian方式存储数据) - 任智康 - 博客园  http://www.cnblogs.com/renyuan/archive/2013/05/26/3099766.html
发表于 2016-05-25 19:01:54 回复(1)
X86 系列 CPU都是 little-endian 的,所以int 型变量值为 0x78563412, 网络发送数据时,采用大段,先发送高位再发送低位 
发表于 2016-03-15 10:43:36 回复(1)
int型变量是存储在栈中的,而栈是自上向下生长的。因此,该变量实际上为:0x78563412,在发送到网络时,就从高字节处开始发送到网络中。
发表于 2015-11-08 19:48:24 回复(4)
小端法(Little-Endian)就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端;
大端法(Big-Endian)就是高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端;

UDP/TCP/IP协议规定:把接收到的第一个字节当作高位字节看待,这就要求发送端发送的第一个字节是高位字节;而在发送端发送数据时,
发送的第一个字节是该数值在内存中的起始地址处对应的那个字节,也就是说,该数值在内存中的起始地址处对应的那个字节就是要发送的第
一个高位字节(即:高位字节存放在低地址处);由此可见,多字节数值在发送之前,在内存中因该是以大端法存放的;
所以说,网络字节序是大端字节序;

综合可以看出选B
发表于 2017-04-03 22:48:30 回复(1)
答案是B
          网络端一般是大端,大端,大端最高字节在地址低位,低字节在地址高位,所以要调整顺序为B
发表于 2015-11-07 11:36:56 回复(1)
网络发送采用的是大端模式,先高位再低位。
发表于 2016-06-22 16:35:32 回复(0)
网络传送采用大端法
发表于 2016-11-09 22:30:38 回复(0)
X86的计算机是小段存储,即高地址存高字节,低地址存低字节,而网络字节序为大端存储,即高地址存低字节,低地址存高字节,所以发送的数据应该反过来:0x78,0x56,0x34,0x12
发表于 2017-06-13 10:40:49 回复(0)
X86 系列 CPU都是 little-endian 的 BIG-ENDIAN、LITTLE-ENDIAN跟多字节类型的数据有关,比如int,short,long型。

比如 int a = 0x05060708

在BIG-ENDIAN的情况下存放为:

字节号 0 1 2 3

数据 05 06 07 08

在LITTLE-ENDIAN的情况下存放为:

字节号 0 1 2 3

数据 08 07 06 05

发表于 2016-08-17 14:44:53 回复(0)
网络端使用big endian
x86使用小端 little endian
发表于 2016-08-17 14:26:12 回复(0)
X86 系列 CPU都是 little-endian 的,所以int 型变量值为 0x78563412, 网络发送数据时,采用大段,先发送高位再发送低位 
发表于 2016-10-01 09:27:38 回复(0)
X86一般是小端,而网络传输一般是大端
发表于 2016-09-09 09:55:10 回复(0)
小端法(Little-Endian)就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端; 大端法(Big-Endian)就是高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端; UDP/TCP/IP协议规定:把接收到的第一个字节当作高位字节看待,这就要求发送端发送的第一个字节是高位字节;而在发送端发送数据时, 发送的第一个字节是该数值在内存中的起始地址处对应的那个字节,也就是说,该数值在内存中的起始地址处对应的那个字节就是要发送的第 一个高位字节(即:高位字节存放在低地址处);由此可见,多字节数值在发送之前,在内存中因该是以大端法存放的; 所以说,网络字节序是大端字节序; 综合可以看出选B
发表于 2022-11-08 13:59:59 回复(0)
int型变量是存储在栈中的,而栈是自上向下生长的。因此,该变量实际上为:0x78563412,在发送到网络时,就从高字节处开始发送到网络中。
发表于 2017-04-11 10:23:23 回复(0)
由题知该变量从低位到高位的内容,即为0x78563412。
网络发送数据时先发送高位;
发表于 2016-09-11 00:23:25 回复(0)
选B吧,按照个位十位……设计者只能让顺序相反去序列化内存的值,这应该与人的阅读顺序有关。
发表于 2015-12-14 23:57:23 回复(0)