首页 > 变量大小问题

变量大小问题

今天在网上看到一个字母是一个字节,大小1b。想起int型变量是4字节(不要纠结编译器,以4字节为例),那么也就是说一个int型的变量的长度是xxxx,最大值不应该超过4位数。我知道我的想法是错的,所以现在想问问编译器的字节长度是怎么回事,我是怎么错的。完全懵逼了,求各路英雄搭救,基础好的应该很容易就说清楚了!跪谢!!!


一个字母是 1 字节,也就是 1B(Byte),即 8b(bits)。每一位都有 0、1 两种值的可能,所以,8位一共有 2^8 = 256 种可能,用整数表示就是 0~255。一个字节可以表示的字符在 ASCII 码表中已经列出来了,你自己可以去查查 ASCII 码表,其中所有可见字符都在 127 以内。

一个整数是 4 字节,也就是 32 位,可以表示 2^32 这么多个数字,表示的范围是 -2147483648 ~ 2147483647

当然还涉及到有符号和无符号的问题……

这些东西应该都是在“计算机原理”相关的书上写的


一个字节是8个bit位,每个bit为可以是0和1,int4个字节就是32个bit位,怎么会就4位?


题主说的一个字母是指 char 型,1 个字节,8 位,默认的 char 有可能是 sign char,也有可能是 unsigned char,所以范围不同,sign char 是 -128 到 127,int 至少是 4 字节,32 位,所以范围是 -2^31~2^31-1


一个字节是8位,int型是4个字节就是32位啊,每个位都可以用0和1表示。你可以想想只有4位可以表示多少个不同的数。你是把字节和位没分清楚啊


你所说的位是按十进制描述的,若按字节去描述位,可以当做一个字节所代表的最大数的进制,也就是按256进制描述的话 可以说最高4位。但如果要用十进制,就需要转换后看了


字节和位的概念混淆了吧。很多英文专业术语翻译的不是还确切,感觉还是台译的比较准确:bit(位元);byte(位元组)。吐槽下:中华文化在台湾。

【热门文章】
【热门文章】