发布网友 发布时间:2022-04-28 13:25
共4个回答
热心网友 时间:2023-10-10 07:28
一般来说, char 占一个字节 一个字节8位,那么 8位可以表示多少呢 2的8次方 ,但是你不加 无符号的说明 一般是有符号的,那么就是 - 2^7 -到 2^7-1 之间, int 占四个字节, 就是 32位,按前面的一样算法, 这是一般来说,还要看不同平台编译器,如果一个编译器 char 占2字节呢,所以开发过程中最好先自己测试一下,就OK了,但是大致是不变的。热心网友 时间:2023-10-10 07:28
char是有符号字符型,存储的依然是整数,只不过不同的整数代表不同的字符,取值范围在-128~127之间热心网友 时间:2023-10-10 07:29
和机器有关系 要看CPU的字长 早期CPU是16位的时候int是2个字节 现在的32位机器int就是4个字节了热心网友 时间:2023-10-10 07:28
一般来说, char 占一个字节 一个字节8位,那么 8位可以表示多少呢 2的8次方 ,但是你不加 无符号的说明 一般是有符号的,那么就是 - 2^7 -到 2^7-1 之间, int 占四个字节, 就是 32位,按前面的一样算法, 这是一般来说,还要看不同平台编译器,如果一个编译器 char 占2字节呢,所以开发过程中最好先自己测试一下,就OK了,但是大致是不变的。热心网友 时间:2023-10-10 07:28
char是有符号字符型,存储的依然是整数,只不过不同的整数代表不同的字符,取值范围在-128~127之间热心网友 时间:2023-10-10 07:29
和机器有关系 要看CPU的字长 早期CPU是16位的时候int是2个字节 现在的32位机器int就是4个字节了热心网友 时间:2023-10-10 07:29
是,也和编译器有关,假设编译器32为,那么最大值就是2^32-1追问可以更详细点么?追答是这样,c语言要看它的编译器,对于一个int类型的变量,32位编译器认为是占32个比特位(0或者以)。一个bit位的范围是2^0-1,二个bit位是2^1-1,依次,假设编译器32为,那么最大值就是2^31-1
。c语言要先经过编译器编译编译才能执行,执行的时候到底是多少位(32 or 64)由编译器决定!所以在不同位数的编译器上范围也是变得!当然,上面说的有一些问题,因为首位是符号位,应当说是2^-31-1到(2^31)-1,总共2^32-1个数
热心网友 时间:2023-10-10 07:29
是,也和编译器有关,假设编译器32为,那么最大值就是2^32-1追问可以更详细点么?追答是这样,c语言要看它的编译器,对于一个int类型的变量,32位编译器认为是占32个比特位(0或者以)。一个bit位的范围是2^0-1,二个bit位是2^1-1,依次,假设编译器32为,那么最大值就是2^31-1
。c语言要先经过编译器编译编译才能执行,执行的时候到底是多少位(32 or 64)由编译器决定!所以在不同位数的编译器上范围也是变得!当然,上面说的有一些问题,因为首位是符号位,应当说是2^-31-1到(2^31)-1,总共2^32-1个数