unsigned详讲(干货满满)

unsigned详讲(干货满满)文章详细介绍了 C 语言中 unsigned 关键字的概念 强调无符号类型在计算机中的表示和有符号类型的区别 特别是涉及符号位 补码 整型提升和打印格式的影响

大家好,欢迎来到IT知识分享网。

前言过年偷懒了(●ˇ∀ˇ●),但是年后开学了一定要恢复学习状态,在复习加继续学习的途中,我发现对于unsigned关键字的掌握并不是很熟练,于是翻阅了各个大佬的博客以及书籍,总结了对于unsigned的一些知识点。(如有不对的地方,欢迎各位大佬指正🤭)


什么是unsigned?

从字面上来看,不难理解,unsigned是无符号的意思,事实上,的确没错。它在C语言中和signed相反,signed是有符号的意思。其实C语言中的类型基本上都是有符号类型,只是省去了signed,

比如:(signed)int –> int

(signed char)–>char (这个取决于编译器,绝大多数编译器都是这个,比如我们常用的VS)

在了解什么是无符号之前,我们先了解一下什么是符号位(知道的童鞋可以跳过了)

在计算机处理二进制数据时,专门规定了一位符号位,来确定数据的正负,这个符号位通常是数据的最高位,如8比特位数据,左边第一位就是符号位,剩下七位用来表示数据大小。

看例图:

unsigned详讲(干货满满)

在知道符号位之后就很容易理解无符号了,无符号嘛就是没有符号位,原来的符号位可以列入计算了。值得一提的是,无符号数都是非负数。

unsigned详讲(干货满满)


unsigned的深入理解

对于有符号类型的整形打印的时候用%d,对于无符号类型的整形打印时用%u

来看一

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/158430.html

(0)
上一篇 2025-01-23 22:10
下一篇 2025-01-23 22:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信