无意在c++的qq群里看了一个关于ip头部定义的讨论,我参与了一下,就扯到了大小端。后来我在看lua源码的时候,关于lua的number类型也扯到了双精度浮点数的表示。通过一个小的代码可以略微解答其中的秘密。 ...
分类:
其他好文 时间:
2017-11-07 19:39:37
阅读次数:
161
Struct:结构体Union:联合体联合体是几个不同类型的变量共占一段内存(相互覆盖),因为是内存共享,所以它不能同时存放多个成员的值,而只能存放其中的一个值,就是最后赋予它的值,例如:uni.a=3,uni.b=4.5,uni.c="A";赋值之后共享的同一块内存的值会被覆盖。对于union的不同..
分类:
其他好文 时间:
2017-11-06 22:43:59
阅读次数:
163
利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。当访问其内成员时可用"."和"->"来直接访问。 当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的:1)联合体是一个 ...
分类:
编程语言 时间:
2017-10-23 18:08:57
阅读次数:
310
1. 为什么会产生两种模式: 在计算机中我们是以字节为单位的,每一个地址单元都对应着一个字节,一个字节就是8位,c语言中char类型之外,还 有四个字节的int,个字节的longlong类型,并且除了对于超过8位的处理器,比如32位处理器,64位处理器,由于寄存器的宽 度、大于一个字节就必然存在着字 ...
分类:
其他好文 时间:
2017-10-22 00:14:24
阅读次数:
160
nc localhost 13 连接localhost地址的13端口 socket编程··························· 大端小端 nc 192.168.116.41 13 Unix网络编程richard stevenson socket编程 APUE高级UNIX环境编程 soc ...
分类:
其他好文 时间:
2017-10-21 12:39:02
阅读次数:
178
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") /*指定输出的格式是32bits ARM 小端*/ /*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm"... ...
分类:
其他好文 时间:
2017-10-18 11:50:10
阅读次数:
152
简介 大端小端模式指的是不同类型的处理器在数据存储时的区别。。 大端模式(高尾端模式即末端在高位):将数据的高字节放在低地址中,低字节放在高地址中。 小端模式(低尾端模式即末端在低位):将数据的高字节放在高地址中,低字节放在低地址中。 如: 0x01020304 在大端模式的机器中存储形式如图: 在 ...
分类:
其他好文 时间:
2017-10-16 01:48:21
阅读次数:
172
网络字节序与主机字节序的转换 在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa。查看这些函数的解析,会发现这些函数其实是与主机字节序和网络字节序之间转换有关。就是什么网络字 ...
分类:
其他好文 时间:
2017-10-14 12:12:02
阅读次数:
208
二、什么是大端和小端 Big-Endian和Little-Endian的定义如下:1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。举一个例子,比如数字0x12 3 ...
之前我对大小端的理解是数据存放方式不同,最近在读《计算机组成-结构化方法》一书时发现,并不是存放方式不同,而是字节地址的编排方式不同,换句话说,存的位置都是一样的,只不过这个位置因为编址方式的不同使得它的地址编号不同,也因此产生了大小端问题。下面的理解均是我个人对于《计算机组成-结构化方法》第六版2 ...
分类:
其他好文 时间:
2017-10-12 15:42:06
阅读次数:
143