发布时间:2016-12-25 17:05:53
protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用xml进行数据交换快许多。可以把它用于分布式应用之间的数据通.........【阅读全文】
发布时间:2016-12-11 15:04:00
1.1 原码、反码和补码 (1)原码,拿char型变量来说,-8和8的源码对应的二进制有所不同。对于正数最高位为0,负数最高位为1。 [+8] = [00001000]原 [-8] = [10001000]原 (2)反码,反码是原码对应的二进制各位取反得到的数。如果原码为正数(不管该变量是有符号型还是无符号型),则反.........【阅读全文】
发布时间:2016-12-04 11:04:37
1.1 基本类型默认字节对齐和改变字节对齐方式 c语言在给不同类型变量分配地址空间时,并不是总是紧邻着上一个变量的地址空间分配的,而是它所在的地址空间,必须被它的默认对齐字节数整除。例如,int类型占4字节,其默认对齐字节数为4,那么它所在的地址的低4位必须为0x0、0x4、0x8和0xc,因为这些地址才能被4.........【阅读全文】
发布时间:2016-12-03 14:40:50
1.1 判断大小端机的方法 大端小端机的判断很简单,比如你有一个short型的变量a,它占用两个字节。假如你给它的赋值是0x1234,如果从低地址到高地址分别打印这两个字节为0x34和0x12,则这是一个小端机,因为0x34是0x1234的低字节,低字节放在了低地址空间;若打印顺序是0x12和0x34,那么这就是一.........【阅读全文】