常见面试题大端和小端

大端和小端(网络字节序和主机字节序):
大端(Big Endian):即网络字节序。
小端(Littile Endian):即主机字节序。

记忆方式:网络的范围很大,所以大端是网络字节序。

大端方式将高位存放在低地址,小端方式将低位存放在高地址。
采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。

如果将一个32位的整数0x12345678存放到一个整型变量(int)中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。
为简单起见,本书使用OP0表示一个32位数据的最高字节MSB(Most Significant Byte),使用OP3表示一个32位数据最低字节LSB(Least Significant Byte)。

---------------------------
地址偏移 大端模式 小端模式
0x00     12(OP0) 78(OP3)
0x01     34(OP1) 56(OP2)
0x02     56(OP2) 34(OP1)
0x03     78(OP3) 12(OP0)

 

记忆要点:大端就是高位存储在低字节 0x00 01 02 03

                                                                   12 34 56 78

 

网络字节序是大端,主机字节序是小端。

 

 

以下是一些常见的 C++ 计算机网络面试题: 1. 解释 TCP 和 UDP 的区别。 - TCP (传输控制协议):提供可靠的、面向连接的数据传输服务。它将数据分成小的数据包并在发送和接收数据包时进行确认。如果数据包在传输过程中丢失,TCP 将重新发送所有数据包,以确保数据传输的完整性和可靠性。 - UDP (用户数据报协议):提供不可靠的、无连接的数据传输服务。它将数据分成小的数据包,但不进行确认。如果数据包在传输过程中丢失,UDP 不会重新发送数据包,因此可能会丢失一些数据。UDP 通常用于实时通信,例如视频和音频流。 2. 解释 HTTP 和 HTTPS 的区别。 - HTTP (超文本传输协议):是一种用于传输超文本的协议,常用于 Web 浏览器和 Web 服务器之间的通信。HTTP 数据是明文传输的,因此不安全。 - HTTPS (安全超文本传输协议):是 HTTP 的安全版本,使用 SSL/TLS 加密保护数据传输的安全性。HTTPS 使用证书验证服务器身份,并通过密钥交换协议来创建安全的连接。 3. 解释 socket 编程。 socket 编程是一种在计算机网络上进行通信的编程方法。它使用套接字(socket)作为通信端点,通过网络传输数据。套接字是一种数据结构,可以描述 IP 地址和端口号,用于标识网络上的应用程序。使用 socket 编程,可以创建客户端和服务器应用程序,通过网络进行数据传输。 4. 解释 select() 函数。 select() 函数是一种多路复用 I/O 的方法,用于同时监视多个文件描述符的读写状态。它可以在有 I/O 事件发生时通知应用程序,并允许应用程序同时处理多个连接。select() 函数可以用于实现高效的服务器,可以同时处理多个客户端连接请求。 5. 解释网络字节序和主机字节序。 网络字节序和主机字节序是存储数据时使用的两种不同的字节序。网络字节序是大端字节序,它将最高位字节存储在最低地址,最低位字节存储在最高地址。主机字节序是与主机体系结构相关的字节序。在大多数情况下,Intel x86 架构使用的是小端字节序,即最低位字节存储在最低地址,最高位字节存储在最高地址。在网络中传输数据时,需要将数据转换为网络字节序,以确保不同主机之间的数据传输正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值