当前位置: 首页 > news >正文

江门市住房城乡建设局网站网站数据建设涉及哪些内容

江门市住房城乡建设局网站,网站数据建设涉及哪些内容,西宁那有做网站的,网站建设大客户沟通技巧字节与字符 计算机内存的基本单位是位(bit),字节(byte)通常指的是8位的内存单元,从这个意义上来说,字节指的就是描述计算机内存量的度量单位。 C对字节的定义则有些不同,C字节由至…

字节与字符

计算机内存的基本单位是位(bit),字节(byte)通常指的是8位的内存单元,从这个意义上来说,字节指的就是描述计算机内存量的度量单位。

C++对字节的定义则有些不同,C++字节由至少能够容纳实现的基本字符集的相邻位组成,也就是说,可能取值的数目必须等于或超过字符数目。最开始的基本字符集ASCII由于只支持拉丁字符,可以用8位来容纳,因此ASCII编码是1个字节表示一个字符。但是在国际编程可能需要使用更大的字符集,即Unicode,根据编码方式可以分为UTF-8(变长编码,使用1-4个字节表示一个字符)、UTF-16(变长编码,使用2或4个字节表示一个字符)、UTF-32(定长编码,使用4个字节表示一个字符)。

英文字符和汉字字符在UTF-8编码环境下,测试结果如下:

#include <iostream>
#include <cstring>using namespace std;int main()
{char a = 'a';cout << a << endl; // 输出:a// 1、‘中’字符超出了char单个字节的存储范围char b = '中'; // 编译告警: overflow in conversion from 'int' to 'char' changes value from '14989485' to ''\37777777655'' [-Woverflow]cout << b << endl; // 输出:乱码// 2、‘中’字符在UTF-8编码中占用字节数为3,char数组定义为4是为了在末位存储结束符‘\0’// char bs1[2] = "中"; //编译报错:error: initializer-string for array of chars is too long [-fpermissive]char bs2[4] = "中";cout << bs2 << endl; // 输出:中cout << strlen("中") << endl; // 输出:3return 0;
}

整型

常用的整数类型有char、short、int、long、long long,根据是否能存储负值,又可以进一步划分为有符号整型和无符号整型。

由于系统环境或编译器环境不同,每种整型所占的字节数可能会有差异,此处以64位编译器为例,举例说明整型的取值范围:

类型占用字节数取值范围
signed char1-2^7 ~ 2^7-1
unsigned char10 ~ 2^8-1
short2-2^15 ~ 2^15-1
unsigned short20 ~ 2^16-1
int4-2^31 ~ 2^31-1
unsigned int40 ~ 2^32-1
long4-2^31 ~ 2^31-1
unsigned long40 ~ 2^32-1
long long8-2^63 ~ 2^63-1
unsigned long long80 ~ 2^64-1

扩展1:为什么无符号类型和有符号类型的最大值相比会多一个2次方?

计算机内存储数据是使用二进制来表示的。有符号类型的最高位会被用为符号位,而无符号类型则多了最高位用来表示数值。

扩展2:为什么在有符号类型中负数取值范围会比正数多一位?

计算机内是使用补码来存储整数的(正数补码是它本身,负数补码=对应正数原码取反+1)。以signed char类型为例,从概念上来说,0数值是可以分为+0(00000000)和-0(10000000)的,而这时候我们已经选择用+0来表示数字0了,-0就可以用于表示其他值,将-0采用补码规则是映射到-128的(正数128原码为010000000,取反为101111111,再+1为110000000,截掉前面的溢出位1结果为10000000),因此自然而然就用于表示-128了。

bool

bool类型用于表示逻辑上的真和假,取值范围为字面值true和false,其可以提升为int类型——true转为1,false转为0。

另外值得注意的是,任何数字值或指针值都可以隐式转换为bool值,任何非零值转为true,而零值转为false。

wchar_t

前面提到,程序需要处理的字符集可能无法用一个8位的字节表示,此时C++有两种处理方式:一种是编译厂商可以将char定义为一个16位的字节或更长的字节(例如,在Java语言中char的长度就是2个字节);另一种是使用宽字符类型wchar_t来表示扩展字符集(wchar_t是整数类型,具体类型取决于系统实现),通常会将每个字符存储在一个2字节的内存单元中。

浮点类型

常见的浮点类型有float(单精度小数)、double(双精度小数)、long double。float和double的区别点在于,通常double类型能够表示的范围更大且精度更高。体现为double能够保证准确的有效位更多。

算术操作符

常见的5种基本算术操作符分为加(+)、减(-)、乘(*)、除(/)、取余(%)。

类型转换

在C++ 中,一个 数据类型 的值可以被转换成另一种数据类型的值,这个转换就叫做类型转换。在进行类型转换时需要注意的是,如果是向上转型的转换(例如,float转double,int转long)通常是安全的,但如果是向下转型的转换(例如,long转int,double转float,浮点数转整数)就有可能会产生截断或精度丢失问题。

在C++ 中,按转换方式也可以大致划分为两种类型转换——隐式转换和显式转换。

隐式转换

由编译器自动完成的类型转换称为隐式转换,也称为自动转换。

例如,在计算表达式时,C++会将bool、char、unsigned char、signed char和short值转换为int,这些转换也被称为整型提升

显式转换

当用户手动将数据从一种类型更改为另一种类型时,这称为显式转换,主要有以下三种方式:

  • C 样式类型转换(也称为转换符号

  • 函数符号(也称为旧的 C++ 样式类型转换

  • 类型转换运算符(static_castdynamic_castconst_castreinterpret_cast

#include <iostream>using namespace std;int main()
{int num1 = 10;short num2 = (short)num1; // 1、C风格转换int num3 = 10;long num4 = long(num3); // 2、旧的C++风格转换int num5 = 10;unsigned int num6 = static_cast<unsigned int>(num5); // 3、使用了C++的类型转换运算符return 0;
}
http://www.yayakq.cn/news/676433/

相关文章:

  • 网站建设前端wordpress如何登录
  • 外贸网站推广 雅虎问答有用吗wordpress怎样改头像
  • wordpress促销插件wordpress 分页seo
  • 简述电子商务网站的建设步骤网站上的图片一般多大合适
  • 建站网站案例wordpress美化下载页面
  • 建设银行网站地址wordpress关闭手机访问不了
  • 做网站建设的公司江苏建筑网站
  • 如何做网站来做淘宝客wordpress 阿里百秀主题
  • 备案的网站是公司吗加强品牌建设
  • steamcn网站是谁做的做网站的协议书和计划书
  • 深圳建设交易网站网络推广培训ppt
  • 长沙优质营销网站建设设计杭州seo网站建设
  • 无锡市新吴区住房和建设交通局网站seo3立体构型
  • 东莞五金网站建设无锡中小企业网站制作
  • 宁波招聘网站开发纺织品做外贸一般在哪个网站上
  • 国外设计搜索网站网站建设网站的好处
  • 企业网站有哪些类型专业版简历
  • 山西省网站建设哪里好零基础学建站
  • 商品网站wordpress 图片上传
  • 网站制作公司有哪些个人网站源码进一品资源
  • 如何快速提升网站权重6网站建设做网站
  • 工信和信息化网站备案系统免费的软件下载安装
  • wordpress主题的网站模板接技术标做网站
  • 网店网站怎么做专门做各种产品测评的网站
  • 企业网站趋势温州 建网站
  • 个人网站备案备注范文西地那非能延时吗
  • 博物馆网站建设方案书wordpress4.9.5漏洞
  • 网站开发者模式怎么打开域名备案码
  • 把网站放到服务器网站 not found
  • 怎样进入外贸公司网站网站建设开发员