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

织梦网站怎么做索引地图网络推广搜索引擎

织梦网站怎么做索引地图,网络推广搜索引擎,网站制作价格便宜,珠宝网站建设平台分析报告1.数据的存储和排列 是的,在C语言中,整数类型通常以补码(twos complement)形式存储在内存中。这是因为补码表示法在处理有符号整数的加减运算上更为简便和高效。 2.有符号数和无符号数之间的转换 在C语言中,有符号数和…

1.数据的存储和排列

 是的,在C语言中,整数类型通常以补码(two's complement)形式存储在内存中。这是因为补码表示法在处理有符号整数的加减运算上更为简便和高效。

 

2.有符号数和无符号数之间的转换

在C语言中,有符号数和无符号数之间的转换可以通过类型转换(type casting)实现。需要注意的是,这种转换会影响数值的解释。

有符号数转无符号数

将有符号数转换为无符号数时,二进制表示保持不变,但解释方式不同。

#include <stdio.h>int main(){int signed_num = -1;unsigned int unsigned_num = (unsigned int)signed_num; // 0xFFFFFFFFprintf("signed_num = %d, unsigned_num = %u\n", signed_num, unsigned_num);return 0;
} 

输出结果:

 

有符号数转无符号数在内存中的解释:

变量名内存地址二进制表示解释
signed_num0x7fffeeaee1011111111 11111111 11111111 11111111-1 (有符号数)
unsigned_num0x7fffeeaee1411111111 11111111 11111111 111111114294967295 (无符号数)

 可以看到二进制表示保持不变,只是改变了解释方式

无符号数转有符号数

将无符号数转换为有符号数时,同样二进制表示保持不变,但解释方式不同。

#include <stdio.h>int main(){unsigned int unsigned_num = 4294967295; // 0xFFFFFFFFint signed_num = (int)unsigned_num; // -1printf("unsigned_num = %u, signed_num = %d\n", unsigned_num, signed_num);return 0;
} 

 输出结果:

 

无符号数转有符号数在内存中的解释:

变量名内存地址二进制表示解释
unsigned_num0x7fffeeaee1811111111 11111111 11111111 111111114294967295 (无符号数)
signed_num0x7fffeeaee1c11111111 11111111 11111111 11111111-1 (有符号数)

 可以看到二进制表示保持不变,只是改变了解释方式

3.不同字长整数之间的转换

 

在C语言中,不同字长的整数之间的转换主要涉及位宽扩展和截断操作。

从小字长向大字长扩展

对于有符号数,可以通过符号扩展实现扩展;对于无符号数,可以通过零扩展实现扩展。

#include <stdio.h>int main(){char small_num = -1;int large_num = (int)small_num; // 符号扩展,小数到大数printf("small_num = %d, large_num = %d\n", small_num, large_num);unsigned char usmall_num = 255;unsigned int ularge_num = (unsigned int)usmall_num; // 零扩展printf("usmall_num = %u, ularge_num = %u\n", usmall_num, ularge_num);return 0;
} 

输出结果: 

 

从小字长向大字长扩展在内存中的解释:

变量名内存地址二进制表示解释
small_num0x7fffeeaee2011111111-1 (8位有符号数)
large_num0x7fffeeaee2411111111 11111111 11111111 11111111-1 (32位有符号数)
变量名内存地址二进制表示解释
usmall_num0x7fffeeaee2811111111255 (8位无符号数)
ularge_num0x7fffeeaee2c00000000 00000000 00000000 11111111255 (32位无符号数)

 对于有符号数,从小字长向大字长可以通过符号扩展实现扩展;

从大字长向小字长截断

当将大字长整数转换为小字长整数时,高位会被截断,只保留低位。

#include <stdio.h>int main(){int large_num = 257; // 0x00000101char small_num = (char)large_num; // 0x01printf("large_num = %d, small_num = %d\n", large_num, small_num);unsigned int ularge_num = 65537; // 0x00010001unsigned char usmall_num = (unsigned char)ularge_num; // 0x01printf("ularge_num = %u, usmall_num = %u\n", ularge_num, usmall_num);return 0;
} 

 输出结果:

 大字长到小字长整数之间的转换在内存中的解释:

数据类型变量名内存地址示例二进制表示解释
intlarge_num2570x701000000000 00000000 00000001 00000001257
charsmall_num10x7000000000011(截断)
unsigned intularge_num655370x701400000000 00000001 00000000 0000000165537
unsigned charusmall_num10x7008000000011(截断)

可以看到 大字长到小字长整数之间的转换在是直接截去多余的高位,只保留对应得低位。

http://www.dinnco.com/news/70958.html

相关文章:

  • 做淘宝客网站需要多大空间谷歌网站推广优化
  • 旅游网站开发研究现状太原百度seo排名软件
  • 网站开发频道构架百度一下搜索
  • 移动网站开发百度百科seo岗位培训
  • 做盗版网站宁波网络营销推广咨询报价
  • 太原网站搜索优化域名停靠网页推广大全
  • 我想建个赌博网站怎么建域名最大免费广告发布平台
  • 沈阳企业建站seo在线论坛
  • 网站开发技术语言的选择推广普通话文字内容
  • dw做网站是静态还是动态临沂百度推广的电话
  • wordpress 下拉框图标孝感seo
  • ssp网站怎么做百度怎么投放自己的广告
  • 做网站属于什么费用长沙官网seo技术
  • 微网站技术网页设计代码案例
  • 建设化工网站的目的seo网络优化推广
  • 怎么建企业网站seo怎么优化简述
  • 网站程序上传工具网络销售 市场推广
  • 做英文网站賺钱搜索引擎优化案例分析
  • 浙江恒元建设网站网络营销有哪些推广平台
  • 建设网站需要准备什么靠谱的影视后期培训班
  • 大连餐饮网站建设百度关键词推广价格
  • 买做指甲的材料在哪个网站优化网站的方法有哪些
  • 北京网站备案在哪seo和sem
  • 男生为女生做网站山东服务好的seo公司
  • 台州做微网站2023疫情第三波爆发时间
  • dede网站模板安装河南网络推广公司
  • 做网站前台用什么问题画质优化app下载
  • 用html做卖珠宝的网站seo用什么工具
  • b2c的电子商务网站有哪些关于手机的软文营销
  • 厦门做英文网站西昌seo快速排名