C语言负整数在内存中的存储

本文介绍了C语言中整数类型的存储方式,包括char、int和unsigned char等类型的内存占用情况,以及正负整数如何在内存中表示,特别是负整数的二进制存储形式及其取反操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言负整数在内存中的存储

内存的存储

1)在电脑的内存中分为1byte = 8bit 每个bit中可以储存一个低电压或者是高电压

也就是0和1

2)正如下面所示1字节大小

请添加图片描述

3)控制保存3
请添加图片描述

C 变量占用的内存

1)整数类型

char (通常是一个字节(八位), 这是一个整数类型。)
int (整型,4 个字节,取值范围 -2147483648 到 2147483647。)

unsigned char(自然数 1 字节 0 ~ 255 )

2)正好unsigned char在内存中占用1字节也就是8比特,所以下面用该类型表示。

unsigned char a = 0; 声明赋值变量,在内存中分配1字节

3)如果赋值大于所开辟的内存时将内存溺出(重要***)

比如unsigned char a = 256; 输出为0

1 0000 0000

当unsigned char a = 257; 输出为1

1 0000 0001

当赋值大于开辟的1字节时将自动舍去多余的

负整数在内存中

1)每使用unsigned char一次就在内存中开辟1字节(如下)

0000 0000

2)每次整加一次十进制编辑器将其转换为二进制存在内存当中(如unsigned char a = 4;)

0000 0100

3)在系统中负数的表达一般是在开头的第一位如图整体为X由头A和和B组成
请添加图片描述

4)当A内部可以储存0~1 当为0时该X为整数,当为1时该X为负数

请添加图片描述

该图像输出为【1】

5)负数的显示是在取反如

0111 1111

输出【127】

1000 0001

输出 【-127】

B 的最值为1 ~ 127

-B 的最值为-127 ~ -1

因为A的值决定是正数还是反数,所以可以得出公式-X = 256 - X得出反数(但是取值范围不得超过127)

输入【1】

1 0000 0000

0 0000 0001


0 1111 1111

值为【-127】取反为【-1】

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值