有符号拓展:signed-extending无符号拓展:unsigned-extending
符号拓展
- 拓展意义
- 举个栗子
有符号拓展: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相关推荐
- addressof表达式不能转换为long_2.3 C++赋值运算符与表达式 | 将有符号数据赋给无符号...
赋值运算符 小林在前面小结中有说过赋值符号=就是赋值运算符,它的主要作用是将一个值赋给一个变量. 比如,把常量5的值赋给变量x. x=5; 也可以把一个表达式的值赋给变量 int x; x=3+5*2 ...
- java int转无符号_Java 中使用无符号整型(unsigned int)的使用方法
背景 计算机科班出身大多学过离散数学,或者理工类专业也大多学习过 C 或 C++ 语言,从中我们了解到基本类型的整形有 short.int.long 等,还分别有无符号(unsigned)和带符号(s ...
- php无符号整数转有符号整数,PHP中把有符号整型转换为无符号整型方法_PHP教程...
PHP中把有符号整型转换为无符号整型方法 这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与I ...
- 计算机系统基础实验 - 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示
实验3 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 实验序号:3 实验名称:同符号浮点数加法运算/无符号定点数乘法运算的机器级表示 适用专业:软件工程 学 时 数:2学时 一.实验目的 1 ...
- php 有符号整数,PHP中把有符号整型转换为无符号整型方法
这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过214748 ...
- 有关有符号(signed)和无符号(unsigned)的典型例题
1. #include <stdio>h> int main() {char a=-1;signed char b=-1;unsigned char c=-1;printf(&quo ...
- c语言无符号扩展,C语言无符号和有符号的区别
C语言定义一个int类型时,默认是有符号数,关键字signed常省略,如: int a; signed int a; signed a; 这三句是一样的定义 定义无符号数时,必须加关键字unsigne ...
- java8 无符号_Java8包装类 新增 无符号运算方法
Java8为整型包装类,增加类支持无符号运算的方法. Java8为Integer,Long新增如下方法 static String toUnsignedString(int/long i):该方法将指 ...
- java右移和无符号右移区别_Java 无符号右移与右移运算符的使用介绍
Java 无符号右移介绍 最近学习Java,看到>>>运算符不太了解,也百度查了查,解释得不是很清晰.那么下面讲解我对>>>运算符的认识: >>> ...
- mysql有符号和无符号,MySQL中的“无符号”是什么意思以及何时使用它?
MySQL中的"无符号"是一种数据类型.每当我们在任何列中写入无符号表示您不能插入负数时.假设对于很大的数字,您可以使用无符号类型. 无符号整数的最大范围是4294967295.N ...
最新文章
- 空间索引 - GeoHash算法及其实现优化
- 【Android 进程保活】应用进程拉活 ( JobScheduler 拉活 | JobScheduler 使用流程 | JobService 服务 | 不同版本兼容 | 源码资源 )
- 开源的ESB产品列表信息
- 手写单隐层神经网络_鸢尾花分类(matlab实现)
- Microsoft使用.NET Core SDK遥测数据
- JQuery实现点击按钮切换图片(附源码)--JQuery基础
- cron每2天跑一次_直购直测,进口新极光每2年或34000公里才需要保养一次?
- 路由重发分之RIP-OSPF
- day 7-13 数据库的数据类型
- Android开发之动态创建多个按钮
- 程序出错后 程序员给测试人员的20条高频回复
- 教你一招:Win10系统如何正确卸载edge浏览器?
- OA办公系统审批流程是什么?
- 结婚时贴红“囍”字的来历
- 诺基亚牌WP7手机——蛮期待的
- 如何写专业的数据分析报告
- APP架构构思基本思路初稿
- 探秘嫦娥一号背后的软件开发故事
- HTC下一款Android手机即将上市
- 研招网官方:关于考研报名的提醒!
热门文章
- ORA-02195:尝试创建的PERMANENT对象在TEMPORARY表空间中
- java6,jdk1.6 64位解压版
- 【愚公系列】2021年12月 网络工程-虚拟网络
- 2018.11.22
- MYSQL RR级别是否能解决幻读问题
- 计算机主机降温,宁美国度教你电脑降温妙招
- 北欧的Michael Learns To Rock的一首清澈见底的【Take Me To Your Heart】
- 计算机语言输入法,输入法不见了如何解决
- yyyy-MM-dd‘T‘HH:mm:ss - 里面的‘T‘是什么意思
- JS实现点赞变亮与取消点赞变灰样式