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

相关推荐
侃侃_天下2 天前
最终的信号类
开发语言·c++·算法
echoarts2 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix2 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题2 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说2 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
liujing102329292 天前
Day03_刷题niuke20250915
c语言
我是菜鸟0713号2 天前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_2 天前
QT(4)
开发语言·汇编·c++·qt·算法