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

购物网站开发的描述/自建站seo如何做

购物网站开发的描述,自建站seo如何做,开发商是干什么的,自己可以做网站吗今天主要说一下C语言的类型提升的事情。下面是引用的一个例子——这个代码是从一个朋友的博文中复制过来的,但是当时这位朋友没有去说明类型提升的问题,而是阐述汇编的过程。/***************************************************************/int main…
今天主要说一下C语言的类型提升的事情。


下面是引用的一个例子——这个代码是从一个朋友的博文中复制过来的,但是当时这位朋友没有去说明类型提升的问题,而是阐述汇编的过程。
/***************************************************************/
int main()
{
int i;
unsigned char *p;
char *p1;
int a[] = {0xffffffff, 0xffffffff, 0xffffffff};

p = a;
p1 = a;
for(i = 0 ; i < 8 ; i++) {
printf(" 0x%02x  0x%02x \n", p[i], p1[i]);
}

}
$ gcc main.c 
main.c: In function ‘main’:
main.c:10: warning: assignment from incompatible pointer type
main.c:11: warning: assignment from incompatible pointer type
$ ./a.out 
 0xff  0xffffffff 
 0xff  0xffffffff 
 0xff  0xffffffff 
 0xff  0xffffffff 
 0xff  0xffffffff 
 0xff  0xffffffff 
 0xff  0xffffffff 
 0xff  0xffffffff 
。。。。。。 。。。。。。
/***************************************************************/


根本原因其实很简单。
%x是打印无符号整数的16进制,而例子中传递的类型是字符型,那么这里就有一个字符提升的问题,将类型提升为无符号整形。
*p是unsigned char,其值为0xff,那么对应的无符号整形的值仍然是0xff。
而*p1确实char,其值为0xff,其对应的无符号整形的值为0xffffffff。为什么这次是0xffffffff呢?
因为*p1为-1,而无符号整数的-1则是0xffffffff。


为什么是这样呢?
因为在在编码为补码的情形下,类型提升有两种情况:
1. 符号扩展:对于有符号数,扩展存储位数的方法。在新的高位字节使用当前最高有效位即符号位的值进行填充。
2. 零扩展:对于无符号数,扩展存储位数的方法。在新的高位直接填0.


对于这个例子来说。 *p是无符号数,所以填充的是0,即为0x000000ff。 而*p1是有符号数,所以填充的是1,即为0xffffffff。


因此, 从char型到unsigned int,是对有符号数的提升,因此用的是符号扩展,oxff被扩展为oxffffffff;而从 unsigned char型到unsigned int型,是对无符号数的扩展,使用零扩展,oxff被扩展为ox000000ff,而填充的这些零是不会被打印出来的。


如果说这样教科书式的概念不容易理解。还有这样一种理解方式,也许不一定准确,但更容易理解。
对于这里的类型提升,整个步骤可以这样理解:
1. %x要求参数为无符号整数,需要参数为4个字节;
2. *p, *p1为(unsigned) char型,只占1个字节;
3. 因为参数的类型不符,需要扩展;
4. 定位需要扩展到4个字节;
5. 那么就需要填充增加的3个字节;
6. 这3个字节需要什么值?这里就需要上面所需要的概念了。针对有符号数和无符号数,进行不同值的填充。


这就是为什么在编程的过程中,要避免有符号数和无符号数的混用。我个人认为,在我们解决问题的时候,不要一味儿的想着怎么用高级的技术解决。其实最重要的是基础。一般情况下,大部分的问题都可以由C语言基础解决。
http://www.jmfq.cn/news/4823929.html

相关文章:

  • 网站接单平台/站长网站大全
  • 重庆川九建设有限责任公司官方网站/南宁seo优化
  • 宽屏大气企业网站源码/76人vs猛龙
  • jrs直播网站谁做的/丽水网站seo
  • 泉州网站建设技术公司/广州:推动优化防控措施落地
  • 怎么手动安装网站程序/新闻平台发布
  • 网上国网推广方案怎么写/福州seo管理
  • 沈阳外贸网站建设/广告开户南京seo
  • 做网站需要平台/广东东莞疫情最新消息今天又封了
  • 慈溪做网站的公司/青岛网络推广公司哪家好
  • 北京微网站建设设计服务/品牌线上推广方式
  • 做爰全过程的视频的网站/国家高新技术企业
  • 建网站用什么工具/百度客户端登录
  • 网站开发部署/网店seo关键词
  • 对新网站做seo大概需要多久/竞价账户托管哪家好
  • 哈尔滨口碑好的网站建设/百度网盘搜索引擎入口哪里
  • 雅安网站制作/西安百度推广公司
  • 自己ip做网站/神马seo服务
  • python做网站开发/子域名大全查询
  • 个人介绍微电影网站模板/临沂森佳木业有限公司
  • 长沙做网站建设公司排名/新闻20条摘抄大全
  • 自己创建网站/网络服务器的功能
  • 网站排名怎么做/seo程序
  • 网站维护服务公司/网站收录工具
  • 中华人民住房和城乡建设厅网站/社群营销怎么做
  • 17网站一起做网店官网/电子商务网络营销
  • 西安天气最新公布/seo编辑招聘
  • 兰州百度推广的公司/东莞做网站优化
  • 做愛表情网站/域名ip查询查网址
  • 做定制网站多少钱/seo投放是什么意思