C语言存数据

原码

数据的表现形式有三种:原码、反码、补码

计算机存储数据是用补码 进行存储的,但是我们看书的数据通常是原码

我们以 1 个字节为例,讲解原理

对于原码,分为有符号数据和无符号数据

无符号数:15

原码表示:0000 1111

有符号数:+15

原码表示:0000 1111

-15

1000 1111

最高位表示符号位,0 为正,1 为负

反码

反码是用于由原码求补码或者由补码求原码的过渡码

无符号数:反码 = 原码

有符号数:+15 反码 = 原码

原码:0000 1111

反码:0000 1111

-15 反码 = 原码符号位不变,其余数据位取反

原码:1000 1111

反码:1111 0000

补码

在计算机系统中,数值一律用补码来存储

无符号数:补码 = 反码 = 原码

有符号数:+15 补码 = 反码 = 原码

原码:0000 1111

反码:0000 1111

补码:0000 1111

-15 补码 = 反码 + 1

原码:1000 1111

反码:1111 0000

补码:1111 0001

相关推荐
CodeWithMe1 小时前
【闲谈】对于c++未来的看法
开发语言·c++
忆杰1 小时前
统计用户本月的连续登录天数
开发语言·python
蓝胖子不会敲代码1 小时前
跟着AI学习C# Day26
开发语言·学习·c#
嗜好ya2 小时前
JAVA集合篇--深入理解ConcurrentHashMap图解版
java·开发语言
小猫咪怎么会有坏心思呢2 小时前
华为OD机考-生成哈夫曼树-二叉树(JAVA 2025B卷)
java·开发语言·华为od
卜及中2 小时前
【Python】数据处理工具:Pandas详细指南
开发语言·python·学习·pandas
dd向上2 小时前
聊聊GPIO 工作模式
c语言·c++·单片机·嵌入式硬件
翱翔的小菜鸟2 小时前
Java Stream API中peek()方法使用不当引发的生产问题
java·开发语言
狐凄3 小时前
Python实例题:基于联邦学习的隐私保护 AI 系统(分布式学习、隐私计算)
开发语言·python
NLxxxxX3 小时前
爬虫获取数据:selenium的应用
开发语言·爬虫·python·selenium·测试工具·numpy·pandas