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

相关推荐
wjs2024几秒前
HTML 音频/视频
开发语言
我能坚持多久2 分钟前
C++入门基础知识
开发语言·c++·学习
枫叶丹45 分钟前
【HarmonyOS 6.0】ArkUI 闪控球功能深度解析:从API到实战
开发语言·microsoft·华为·harmonyos
小白学大数据6 分钟前
实战复盘:Python 爬虫破解网站动态加载页面思路
开发语言·爬虫·python
爱编码的小八嘎15 分钟前
C语言完美演绎6-15
c语言
暴躁小师兄数据学院17 分钟前
【WEB3.0零基础转换笔记】Rust编程篇-第4讲:控制流
开发语言·笔记·rust·web3·区块链·智能合约
时光之源17 分钟前
记录:在VSCode中运行C/C++程序
c语言·c++·vscode
551只玄猫18 分钟前
【数学建模 matlab 实验报告3】
开发语言·数学建模·matlab·课程设计·实验报告
小樱花的樱花20 分钟前
C++访问权限:封装的艺术
开发语言·c++
bcbobo21cn21 分钟前
C#使用一维数组作为参数传递
开发语言·数据库·c#·一维数组