navicat设置mysql中的int字段以及c++中int类型小细节

创建无符号int类型字段

create table int_unsigned(id int(11) unsigned,name varchar(64));

创建一个有符号int类型字段

create table int_default(id int(11), name varchar(64));

 

使用navicat中的可视化创建表时,没有看到可以指定符号的选项?

原来中文版的navicat,无符号unsigned被翻译为“未签署”。

Decimals被翻译为“十进位”,真实的意思“小数点位数”,对浮点型数据有用。

中文版害死多少人呢?哈哈

下面说的是C++

对于long和short

c++标准是这么说的:长整型至少和整型一样长,整型至少和短整型一样长。不同编译器,实现不同。

16位的系统short int、int数据长度都是16位 ,32位编译器long int和int数据长度也都是32位。换句话说,整形所占的长度不一定是4个字节。

整型的长度被定义为一个机器的字长(为了效率)。所以为了取得机器的字长,可以使用sizeof(int)。也可以用于测试字节顺序。

说起sizeof,想起一件事情。同一个结构体代码在不同机器上可能编译出不同的长度。所以,最好在同一台机器同一个编译器编译服务端和客户端。

如你所见,char也不一定是1个字节,但是至少一个字节。而且,在不同编译器默认的正负类型是不一样的。所以使用的时候,最好指定符号。

 

posted @ 2012-12-21 12:31  2006年的夏天  阅读(1100)  评论(0编辑  收藏  举报