`
zqc_0101
  • 浏览: 230001 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

C++笔记2(网摘)字节和字节序

    博客分类:
  • c++
 
阅读更多
对于多字节的数字类型,有高位字节在前还是低位字节在前的区别,在TCP/IP中,
好象是规定一律高位字节在前,而Intel   80x86   CPU规定是低位字节在前

首先是字与双字在各种系统中内部存储的方式的不同,在Windows中字与双字是高位在低地址排列的,
而网络传输的标准是低位在低地址排列,比如一个十进制数字4660在Windows系统中存储成3412h,
而在网络上表示是1234h。所以我们在设置或读取协议首部中有关用字或双字表示(一般象TCP中的
端口、序号,而IP地址则不是)的字段时要切记转换他们的排列顺序

网络字节序是一种为方便网络上面数据的交互保证一致性而规则的一种字节序。
但是主机字节序是与CPU有关系的,比如x86/x64系列的主机字节序与网络字节序
就是逆序的。但是不要把所有主机的主机字节序都理解为与x86/x64一样。其
他很多CPU体系的字节序与网络字节序是一致的,也就是说在这些主机当中完
全可以不考虑主机字节序和网络字节序。

字节序,主要是有多个字节的数据类型,包括短整形(双字节)、整形(长整形,
四字节)、单精度浮点型(四字节)、长长整形(64位整形,八字节)、双精度
浮点形(八字节)等,在存取(读入到寄存器)高低位的顺序。
分享到:
评论

相关推荐

    千锋C++笔记.zip

    这份笔记由知名教育机构“千锋”提供,旨在帮助初学者和有一定基础的程序员深入理解和掌握C++这一强大的系统级编程语言。下面将详细阐述C++的一些核心知识点。 1. **C++概述**:C++是C语言的增强版,由Bjarne ...

    C++学习笔记本

    C++学习笔记C++学习笔记C++学习笔记C++学习笔记C++学习笔记

    C++高低位字节交换类

    资源为32位机下高低位字节交换类,适用于c++语法下的环境,一般跨平台通讯程序时,涉及主机字节不一致情况,如Linux下的服务程序和windows下客户端程序通讯时,有可能需要做主机字节高低位交换,本类提供int、float...

    大小端字节序介绍几转换

    以下是在Linux环境下使用C++实现主机字节序与网络字节序转换的示例代码: ```c++ #include #include int main() { int port = 6000; int netPort = htonl(port); printf("netPort=%d\n", netPort); printf(...

    c++学习笔记.pdf

    C++是一种静态类型、编译式、通用的编程语言,它支持过程化编程、面向对象编程和泛型编程。C++广泛应用于软件开发领域,包括操作系统、游戏开发、实时物理模拟器等。以下是从提供的文件中提取的知识点: 1. 关于C和...

    QT/C++实现:四字节十六进制与浮点数相互转化——三种方法(亲自验证源码)

    本文将详细探讨如何实现四字节十六进制字符串与浮点数之间的相互转换,涵盖直接方法、强制类型转换法以及使用union和struct的方法。这三种方法都已通过实际验证,确保其正确性和有效性。 首先,我们来看直接方法。...

    C++ 网络字节顺序转换函数、ip格式转换函数

    网络字节顺序,也称为大端字节序,是一种在多处理器系统或网络通信中用于标准化数据表示的方式。IP地址则通常以字符串形式表示,但有时需要将其转换为整数形式以便于网络操作。下面我们将详细探讨这两个主题。 1. *...

    C++整理笔记word版——01 C++学习笔记

    - 整型:`short`(2字节)、`int`(4字节)、`long`(4字节,与`int`相同)、`long long`(8字节) - 实型:`float`(4字节,单精度)和`double`(8字节,双精度) - 字符型:`char`,占用1字节,存储ASCII码 - ...

    C++ 字节迭代器 把可字节化对象转换为字节序列

    C++字节迭代器,一个把可字节化的对象转换为字节序列的中间层。

    c++,java,php,c# 的网络字节流读写文件

    在C++中,可以使用`htonl`、`ntohl`等函数处理字节序转换,确保大端模式。 接下来是Java。Java提供了丰富的IO和NIO(New IO)库,如`InputStream`和`OutputStream`类用于字节流操作,`FileInputStream`和`...

    单字节 多字节 双字节 相互转换

    单字节字符编码的优点是占用空间小,查找和比较字符速度快,但其缺点是只能表示128个字符,无法表示更多的语言字符。 多字节(MBCS) 多字节字符编码(Multi-Byte Character Set,MBCS)是一种变长的字符编码方式...

    C++Primer读书笔记:C++概述.pdf

    C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。

    达内C++全程笔记+代码全套分享

    【C++全程笔记+代码全套】是一份涵盖了达内教育91天全程C++课程的精华资料,旨在帮助学习者深入理解和掌握C++这门强大的编程语言。这份资源包括了详细的笔记和完整的代码示例,是提升C++编程技能的理想学习材料。 ...

    VS C++字节对齐方式

    通过本篇文章的学习,我们可以了解到在C++编程中,理解和掌握字节对齐的概念非常重要。它不仅影响到程序的性能,还可能影响到程序的正确性。在实际开发过程中,程序员需要根据具体情况选择合适的字节对齐策略,并...

    c++内存中字节对齐问题详解

    理解C++中的字节对齐机制对于优化内存使用和提升程序性能至关重要。通过合理地安排结构体成员变量的顺序,开发者可以在不影响程序功能的前提下减少不必要的填充字节,节省内存资源。此外,掌握不同平台的对齐要求有...

    C#与C++通讯字节流转换结构体

    使用了`#pragma pack 1`字节对齐,所以C#的结构体也必须要加上对应的特性,`LayoutKind.Sequential`属性让结构体在导出到非托管内存时按出现的顺序依次布局,而对于C++的char数组类型,C#中可以直接使用string来对应...

    谭浩强C++学习笔记(1-6章)

    《谭浩强C++学习笔记(1-6章)》主要涵盖了C++语言的基础知识,包括数据类型、运算符和表达式。以下是这些章节的主要内容: 1. **数据类型**: - `char` 类型有两种,有符号和无符号。无符号 `char` 范围是 0 到 ...

    C++学习笔记......

    本学习笔记的200863210320.chm文件可能包含详细章节、实例代码和习题解答,旨在帮助读者逐步深入C++的世界,提升编程能力。无论你是初学者还是有一定经验的开发者,都可以从中受益。通过不断学习和实践,你将能够...

Global site tag (gtag.js) - Google Analytics