“字节”数据类型大小 = 1 字节,而它可以有 3 位数字?

Posted

技术标签:

【中文标题】“字节”数据类型大小 = 1 字节,而它可以有 3 位数字?【英文标题】:How is "byte" datatype size = 1 byte while it can have 3 digit numbers? 【发布时间】:2021-12-11 12:50:09 【问题描述】:

数据类型:字节

大小:1 字节/8 位

信息:-128 到 127 之间的整数

我在网上找到了这个,但我有点困惑,我是二进制的新手,如果我错了,对不起,但是一个数字是 8 位,对吧?那么,如果该数据类型有 3 位数字,那么它的大小 = 1 字节/ 8 位如何?

我尝试签入https://www.rapidtables.com,它将文本转换为二进制数,我将“127”作为输入,它给了我输出

00110001 00110010 00110111

这是 24 位/3 字节.. 这在我的大脑中是有道理的...... 那么上面的信息是什么意思呢?

【问题讨论】:

【参考方案1】:

我认为您将字符串数字与整数混淆了。

单个字节(8 位)可以表示以下范围内的 256 个数字:

签名:-128 - 127,最大值:2 ^ 8 / 2 - 1 (2 ^ 7 - 1) 无符号:0 - 255,最大值:2 ^ 8 - 1

链接中的网站将文本转换为二进制,因此您有 3 个 ASCII 字符:

char dec hex bin
'1' 49 0x31 0b110001
'2' 50 0x32 0b110010
'3' 51 0x33 0b110011

参考资料:

Signed number representations

【讨论】:

哦,我明白了,对不起,我没有那样想,谢谢!

以上是关于“字节”数据类型大小 = 1 字节,而它可以有 3 位数字?的主要内容,如果未能解决你的问题,请参考以下文章

byte和int,char类型有啥区别

mysql数据类型

大小端存储模式精解

详细刨析C语言数据的储存

详细刨析C语言数据的储存

32位和64位操作系统基本数据类型字节大小