转载 | C语言中signed和unsigned理解
此文为转载
转载文章链接:https://www.cnblogs.com/lyxcode/p/9449466.html
一直在学java,今天开始研究ACM的算法题,需要用到C语言,发现好多知识点都不清楚了,看来以后要多多总结~
signed意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed int 大小区间为-128-127
unsigned意思为无符号的,所有的位都为大小,没有负数,例如:unsigned int 大小区间为:0-255
当然 默认为signed
如果想要明白singed与unsigned的区别,除了这两个基本知识,还需要了解整数在计算机中的存储方式,以16-bit 计算机为例,
定义 int a = 1; 那么a的存储方式用表格来表示
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
首先需要提到的一点是,在C语言中十进制的整数都会转化为二进制存储在计算机。
继续,上面所声明的 int a = 1,也就是 int signed a =1,C语言默认a是一个signed类型。上面表格中最左端的为最高位,最右端的为最低位。
signed类型的整数,只用了去除最高位,剩下的15位来进行编码的,而最高位只是用来做标记(sign),标记整数的正负,0表示正,1表示负。所以对于signed的整数,的存储范围是(-2^15 to 2^15-1),也就是 -32768 到 +32767的整数。
而对于unsigned的整数,其16位全部用来编码,存储范围便是(0 to 2^16-1),即 0到 65535 的非负整数。所以呢 你可以声明 int a = 1,或者 int a = -1, 但是不可以声明 unsigned a = -1 。但是需要提到的一点是,不管整数的类型是signed 还是 unsigned,都用了16位来存储,也就是说16位全部用来存储数据
转载 | C语言中signed和unsigned理解相关推荐
- C语言中signed和unsigned理解
一直在学java,今天开始研究ACM的算法题,需要用到C语言,发现好多知识点都不清楚了,看来以后要多多总结~ signed意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed i ...
- 51c语言int可以不加signed,c语言中signed 和unsigned是什么意思
1.signed是默认的,表示这个变量是有符号的,可以存储整数和负数. 2.unsigned则需要显示给出表示这个变量,没有符号值能存储数的大小,而且不能表示正负. 3.signed存储符号是有代价的 ...
- 8位alu运算器(vhdl语言)_C语言中signed char类型,能表示-128到127,为什么负数多一位?...
初学者在学习C语言,谈到不同数据类型时,一般都能理解 unsigned 和 signed 的区别,无非就是有无符号而已.但是对于 signed 数据类型的数据范围,初学者却常常会感到迷惑. 对于 si ...
- python语言strip的作用_Python语言中的strip()的理解
本文主要向大家介绍了Python语言中的strip()的理解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在看到Python中strip的时候产生了疑问 strip() 用于移 ...
- 关于c语言中EOF用法的理解
作者:Senlern 转载请注明,原文链接:http://blog.csdn.net/zhang429350061/article/details/8760636 首先看一下EOF的官方解释: 计算机 ...
- 转载——C语言中float,double类型,在内存中的结构(存储方式)
最近在做一个数据格式分析和转换的项目,第一次接触底层的二进制代码存储,看的一头雾水,看到这个帖子后对于在Windows系统下数据的存储方式有了更多的了解,将原文分享一下: 原文地址为http://ww ...
- C语言中的void的理解
1 初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧. 2.voi ...
- C++signed 与unsigned理解
signed意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed int 大小区间为-128-127 unsigned意思为无符号的,所有的位都为大小,没有负数,例如:unsig ...
- c语言free函数的作用,c语言中free函数的理解
最近在复习c语言的时候再次用到了malloc函数和free函数,此处着讲解一下自己对这两个函数的理解和认识. 一. malloc函数和free函数的基本概念和基本的用法 对于malloc函数: 1.包 ...
最新文章
- SLAM学习,小白入门到殿堂级大牛资料整理
- openstack neutron-fwaas 中的几个概念
- Docker学习(一)
- Hibernate悲观锁/乐观锁
- 龟兔赛跑——多线程练习
- java的read()_Java Reader read()方法
- Python Pandas读取修改excel操作攻略
- 关于产品与数据该如何结合的一点想法(一)
- MIUI 11或随小米MIX4共同发布 登场时间9月至10月间
- 读《世界靠懒人来支撑》有感
- linux的yum是什么意思,yum是什么?(linux命令)
- 那些年我们一起犯二的青春--IGRSS--2015--1th
- 2020年58同城产品笔试题
- 常见股票涨跌预警事件
- FastReport VCL开发人员手册:自定义报表组件编写
- 《不能承受的生命之轻》--米兰·昆德拉
- IC 卡、M1 卡、CPU 卡、SAM 卡、PSAM 卡的联系与区别
- 国产手机已经用上了 120W 快充技术,苹果还在用20W的原因
- 路由器或交换机密码忘了——带你修改路由器+交换机密码
- 海大叔侃币:作为一个炒币者,分享三点经验