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

360做网站运营培训

360做网站,运营培训,网站改版做301是啥意思 换域名,上海泵阀网站建设1. 关于数据存储(补码、原码、反码) 有符号类型(Signed Types) 存储方式:现代计算机普遍采用 补码(Two’s Complement) 存储有符号整数。 原码:最高位为符号位(0正&…

1. 关于数据存储(补码、原码、反码)

有符号类型(Signed Types)
  • 存储方式:现代计算机普遍采用 补码(Two’s Complement) 存储有符号整数。
    • 原码:最高位为符号位(0正,1负),其余位表示绝对值。
      • 例如,8位有符号数 -5 的原码:10000101
    • 反码:符号位不变,其余位取反。
      • -5 的反码:11111010
    • 补码:反码加 1(最高位进位丢弃)。
      • -5 的补码:11111011(实际存储形式)。
  • 关键点
    • 补码的优势:统一了 +0-0 的表示(均为 00000000),且加减运算无需区分符号。
    • 你的描述修正

      “有符号类型的原码、反码、补码 不同,但存储时 最终以补码形式 存放。”

无符号类型(Unsigned Types)
  • 存储方式:直接以二进制原码形式存储(无符号位,所有位表示数值)。
    • 例如,8位无符号数 25111111011(与 -5 的补码相同,但解释方式不同)。
  • 你的描述修正

    “无符号数的 原码、反码、补码相同(因为无需符号处理)。”


2. 关于整型提升(Integer Promotion)

  1. 无符号数提升
    • 高位补 0(零扩展,Zero Extension)。
    • 例如,unsigned char a = 0xFF; 提升为 int0x000000FF
  2. 有符号数提升
    • 高位补 符号位(符号扩展,Sign Extension)。
    • 例如,signed char b = -1;0xFF)提升为 int0xFFFFFFFF(保持值不变)。
标准依据(C11 §6.3.1.1)

If an int can represent all values of the original type, the value is converted to an int; otherwise, it is converted to an unsigned int.
For signed types, the value is sign-extended; for unsigned types, it is zero-extended.

示例验证
#include <stdio.h>int main() {signed char sc = -1;       // 存储为 0xFF(补码)unsigned char uc = 0xFF;   // 存储为 0xFF(原码)int a = sc;                // 提升为 0xFFFFFFFF(-1)int b = uc;                // 提升为 0x000000FF(255)printf("a=%d, b=%d\n", a, b); // 输出: a=-1, b=255return 0;
}

3. 常见误区澄清

误区 1:无符号数的补码计算
  • 无符号数 不存在补码概念,因为其二进制表示就是原码(无符号位)。
  • 你的描述中提到的“无符号类型的原码、反码、补码可能不同”是 不准确的
误区 2:整型提升的最终类型
  • 提升后的类型不一定是 int,也可能是 unsigned int(当 int 无法表示原类型所有值时,如某些平台的 unsigned short)。

4. 总结对比表

类型存储形式整型提升规则**示例(charint
有符号数补码符号扩展(高位补符号位)0xFF(-1)→ 0xFFFFFFFF
无符号数原码(无符号位)零扩展(高位补 00xFF(255)→ 0x000000FF

5. 实际编程建议

  1. 警惕混合符号运算
    unsigned int u = 10;
    int s = -5;
    if (s < u) { ... } // 可能出乎意料!`s` 会被转换为 `unsigned int`!
    
  2. 显式类型转换
    uint8_t a = 200;
    uint8_t b = 200;
    uint16_t c = (uint16_t)a + b; // 避免溢出
    
  3. 启用编译器警告
    gcc -Wsign-conversion -Wconversion your_code.c
    
http://www.dtcms.com/wzjs/206781.html

相关文章:

  • 西部数码网站管理助手 绑定域名免费网络项目资源网
  • 做网站i3够用吗搜索引擎推广的方法有
  • 想学做网站如何制作网站二维码
  • 网站开发甘特图女教师遭网课入侵视频
  • 网站建设机器人湖南正规关键词优化
  • 加盟型网站合肥seo优化公司
  • wordpress 社会交流厦门seo推广公司
  • 西瓜网站建设7个湖北seo网站推广策略
  • wordpress整站cdn网址大全导航
  • wordpress5.1.1编辑器还原桌子seo关键词
  • 网站管理员容易做吗百度竞价返点开户
  • 微商城网站建设平台合同凡科网站官网
  • 写网站论文怎么做的长沙网站优化体验
  • 淄博网站建设设计做电商一个月能挣多少钱
  • 深圳西乡网站建设百度关键词热度
  • 迪奥官网网站做的好吗网赌怎么推广拉客户
  • 用什么工具做网站视图seoul怎么读
  • 武汉做网站哪里好网络营销的用户创造价值
  • wordpress建立网站搜索引擎营销的成功案例
  • 武汉开发网站建设怎样推广自己的产品
  • 哪个网站可以做担保交易百度度小店申请入口
  • 网站建设纟金手指下拉壹陆上海抖音推广
  • 个性化网站有哪些百度搜索指数和资讯指数
  • 装潢设计学校百度词条优化
  • wordpress 外贸 模板百度seo关键词排名查询
  • 做粤菜的视频网站营销宣传图片
  • 设计公司企业文化西安seo优化顾问
  • eclipse做网站网上国网app推广
  • 百度网址名称是什么seo搜索引擎优化工资薪酬
  • 阿里云的网站空间技术培训