零基础C语言入门005——字节、位、取值范围、sizeof()运算符

本文介绍了C语言中字节和位的基本概念,1Byte等于8bit,字节可以表示的最大二进制数为255。讨论了符号位,指出32位整型的符号位决定正负。补码是计算机存储整数的方式,正数补码即其二进制表示,负数则需计算得到。还阐述了基本数据类型的取值范围,以及如何使用sizeof运算符获取数据类型或表达式的长度。

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

1.比特位和字节
CPU 能读懂的最小单位(只能存放 0 和 1)—— 比特位,bit,b
内存机构的最小寻址单位 —— 字节,Byte,B
关系:1Byte == 8bit
因此,一个字节可以表示最大的数是:11111111(二进制的255即2的8次方-1)

  1. 二进制、十进制和十六进制
    在这里插入图片描述3. 符号位

存放 signed 类型的存储单元中,左边第一位表示符号位。如果该位为 0,表示该整数是一个正数;如果该位为 1,表示该整数是一个负数。
一个 32 位的整型变量,除去左边第一位符号位,剩下表示值的只有 31 个比特位。

  1. 补码

计算机是用补码的形式来存放整数的值。
正数的补码是该数的二进制形式。
负数的补码需要通过以下几步获得:

先取得该数的绝对值的二进制形式
再将第1步的值按位取反
最后将第2步的值加1

在这里插入图片描述5. 二进制表示最大值和最小值
在这里插入图片描述6. 基本数据类型的取值范围在这里插入图片描述
在这里插入图片描述

7.sizeof用于获得数据类型或表达式的长度
注意sizeof()是一个运算符,不是一个函数

sizeof后面可以是对象sizeof (9.9)
也可以是变量名int a ;sizeof(a)
也可以是类型名sizeof(char)

#include<stdio.h>
int main(void)
{
	int i = 2;
	float j = 3.0;
	char k = 'g';
	double l = 3.0;
	printf("int 类型所占字节:   %d\n",sizeof(int));
	printf("变量 i 所占字节:    %d\n",sizeof(i));
	printf("float 类型所占字节: %d\n",sizeof(float));
	printf("变量 j 所占字节:    %d\n",sizeof(j));
	printf("char 类型所占字节:  %d\n",sizeof(char));
	printf("变量 k 所占字节:    %d\n",sizeof(k));
	printf("double类型所占字节: %d\n",sizeof(double));
	printf("变量l所占字节:      %d\n", sizeof(l));
	system("pause");
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值