关于byte的大小

一般人的理解是1Byte等于8bit
对于一个C程序员就不一样了。
C99中的定义是
byte addressable unit of data storage large enough to hold any member of the
basic character set of the execution environment.
basic character set是指与locale无关的字符集
而在rfc中,也很少用byte做数据长度单位。
用的是octet.
而在C语言中,(不是C++),单个字符的类型是int.而它的值,必须在unsigned char的可表示
的范围内,而它实际上,一般是按char方式,转换到int,然后存储。
例如
如果char是无符号类型,那么'\xFF'这个字符就应该等于-1.
很晕吧?我也不知道为啥他们要把这个搞得这么麻烦

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥