符号拓展

  • 拓展意义
    • 举个栗子

有符号拓展:signed-extending&无符号拓展:unsigned-extending

拓展意义

符号拓展的意义是产生位数拓展,数值不变的的结果。常见于不同不同类型的数据转换(char,int)。

举个栗子

#include <stdio.h>
int main()
{                                       char a = 255;              int b = a;                    printf("a = %d, b = %d\n", a, b);return 0;
}

输出结果:

a = -1, b = -1

当1个字节大小的char类型数据,赋值给4个字节大小的int类型数据时,a=8’b1111 1111,首先高3字节进行符号拓展,{24{2’b1},a}=>b;(高3个字节全补成1),b=32’b11111111 11111111 11111111 11111111。将其转换为十进制数,是-1。设想一下,如果不进行符号拓展而是无符号拓展则,b=32’b0000 0000 0000 11111111,将其转换为十进制数,是255。
结论:不同类型(位宽,存储字节)的有符号数,进行相互赋值、转换时,需要进行符号拓展才能实现目的。不同无符号数,进行相互赋值、转换时,则需要进行无符号拓展。
[1]: http://www5.zzu.edu.cn/qwfw/info/1030/1756.htm
[2]: https://blog.csdn.net/feng19870412/article/details/89204642

有符号拓展:signed-extending无符号拓展:unsigned-extending相关推荐

  1. addressof表达式不能转换为long_2.3 C++赋值运算符与表达式 | 将有符号数据赋给无符号...

    赋值运算符 小林在前面小结中有说过赋值符号=就是赋值运算符,它的主要作用是将一个值赋给一个变量. 比如,把常量5的值赋给变量x. x=5; 也可以把一个表达式的值赋给变量 int x; x=3+5*2 ...

  2. java int转无符号_Java 中使用无符号整型(unsigned int)的使用方法

    背景 计算机科班出身大多学过离散数学,或者理工类专业也大多学习过 C 或 C++ 语言,从中我们了解到基本类型的整形有 short.int.long 等,还分别有无符号(unsigned)和带符号(s ...

  3. php无符号整数转有符号整数,PHP中把有符号整型转换为无符号整型方法_PHP教程...

    PHP中把有符号整型转换为无符号整型方法 这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与I ...

  4. 计算机系统基础实验 - 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示

    实验3 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 实验序号:3 实验名称:同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 适用专业:软件工程 学 时 数:2学时 一.实验目的 1 ...

  5. php 有符号整数,PHP中把有符号整型转换为无符号整型方法

    这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过214748 ...

  6. 有关有符号(signed)和无符号(unsigned)的典型例题

    1. #include <stdio>h> int main() {char a=-1;signed char b=-1;unsigned char c=-1;printf(&quo ...

  7. c语言无符号扩展,C语言无符号和有符号的区别

    C语言定义一个int类型时,默认是有符号数,关键字signed常省略,如: int a; signed int a; signed a; 这三句是一样的定义 定义无符号数时,必须加关键字unsigne ...

  8. java8 无符号_Java8包装类 新增 无符号运算方法

    Java8为整型包装类,增加类支持无符号运算的方法. Java8为Integer,Long新增如下方法 static String toUnsignedString(int/long i):该方法将指 ...

  9. java右移和无符号右移区别_Java 无符号右移与右移运算符的使用介绍

    Java 无符号右移介绍 最近学习Java,看到>>>运算符不太了解,也百度查了查,解释得不是很清晰.那么下面讲解我对>>>运算符的认识: >>> ...

  10. mysql有符号和无符号,MySQL中的“无符号”是什么意思以及何时使用它?

    MySQL中的"无符号"是一种数据类型.每当我们在任何列中写入无符号表示您不能插入负数时.假设对于很大的数字,您可以使用无符号类型. 无符号整数的最大范围是4294967295.N ...

最新文章

  1. 空间索引 - GeoHash算法及其实现优化
  2. 【Android 进程保活】应用进程拉活 ( JobScheduler 拉活 | JobScheduler 使用流程 | JobService 服务 | 不同版本兼容 | 源码资源 )
  3. 开源的ESB产品列表信息
  4. 手写单隐层神经网络_鸢尾花分类(matlab实现)
  5. Microsoft使用.NET Core SDK遥测数据
  6. JQuery实现点击按钮切换图片(附源码)--JQuery基础
  7. cron每2天跑一次_直购直测,进口新极光每2年或34000公里才需要保养一次?
  8. 路由重发分之RIP-OSPF
  9. day 7-13 数据库的数据类型
  10. Android开发之动态创建多个按钮
  11. 程序出错后 程序员给测试人员的20条高频回复
  12. 教你一招:Win10系统如何正确卸载edge浏览器?
  13. OA办公系统审批流程是什么?
  14. 结婚时贴红“囍”字的来历
  15. 诺基亚牌WP7手机——蛮期待的
  16. 如何写专业的数据分析报告
  17. APP架构构思基本思路初稿
  18. 探秘嫦娥一号背后的软件开发故事
  19. HTC下一款Android手机即将上市
  20. 研招网官方:关于考研报名的提醒!

热门文章

  1. ORA-02195:尝试创建的PERMANENT对象在TEMPORARY表空间中
  2. java6,jdk1.6 64位解压版
  3. 【愚公系列】2021年12月 网络工程-虚拟网络
  4. 2018.11.22
  5. MYSQL RR级别是否能解决幻读问题
  6. 计算机主机降温,宁美国度教你电脑降温妙招
  7. 北欧的Michael Learns To Rock的一首清澈见底的【Take Me To Your Heart】
  8. 计算机语言输入法,输入法不见了如何解决
  9. yyyy-MM-dd‘T‘HH:mm:ss - 里面的‘T‘是什么意思
  10. JS实现点赞变亮与取消点赞变灰样式