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

相关推荐
励志的小陈5 小时前
贪吃蛇(C语言实现,API)
c语言·开发语言
Makoto_Kimur5 小时前
java开发面试-AI Coding速成
java·开发语言
laowangpython5 小时前
Gurobi求解器Matlab安装配置教程
开发语言·其他·matlab
wengqidaifeng5 小时前
python启航:1.基础语法知识
开发语言·python
观北海6 小时前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
Ulyanov7 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
码界筑梦坊7 小时前
357-基于Java的大型商场应急预案管理系统
java·开发语言·毕业设计·知识分享
anzhxu7 小时前
Go基础之环境搭建
开发语言·后端·golang
yu85939588 小时前
基于MATLAB的随机振动仿真与分析完整实现
开发语言·matlab
赵钰老师8 小时前
【结构方程模型SEM】最新基于R语言结构方程模型分析
开发语言·数据分析·r语言