数字255到底占几个字节?

liu15073458538 2014-10-11 01:57:26
数字255 到底是占几个字节
8位二进制数 可以表示0~255啊
是不是255占多少字节 还要分在什么情况
有人说字符存储的时候占三个字节,在内存里手机1个字节
还有二进制表示数字中还有什么奇偶检验什么的
...全文
5566 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyj_china 2014-10-13
  • 打赏
  • 举报
回复
如果你定义int型255就占4个字节 如果你定义char项就占1个字节 如果你定义double就占8个字节
FrankHB1989 2014-10-13
  • 打赏
  • 举报
回复
既然在C版问,那就有必要搞清楚一个前提: 1.ISO C的一个字节由char的大小定义,跟unsigned char、signed char是不同的类型但保证大小和对齐要求一致。 2.无符号数使用补码表示。 3.char具有CHAR_BIT位,CHAR_BIT不小于81.2.3.unsigned char必然能放得下255这个数。 4.ISO C要求数字字符在基本源字符集和基本执行字符集中。 5.基本执行字符集中的每个字符必然能以一个字节表示。 4.5.“2”“5”“5”这三个字符可以在3个字节内放下。 6.考虑实现,一般使用7-bit的ASCII或EBCDIC作为基本字符集,对应的编码直接串接即可。 1.3.6.如果一个字节大于8位,这三个字符可能不用3个字节。 7.对于C标准库,以null terminate string表示的字符串(也适用于C的字符串字面量)末尾得加上一个字节的'\0',所以对于这样的字符串,上面讨论字符的结果得加上一个字节。 8.以上使用的是直接串接字节的基本编码。兼容ASCII/EBCDIC的编码方案(如UTF-8)在这里不变。对于不兼容这些基本字符集对应编码的其它编码如UCS-2/UTF-16这样要求每个字符至少占用2个octet(8bit)的编码得按具体字节大小讨论。 9.其它什么奇偶校验的跟C无关。就算物理上得考虑多占用,对于C以上层次的用户来说是透明的,可以无视。
707wk 2014-10-12
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息…… 推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
还是这个好
五星出东方 2014-10-12
  • 打赏
  • 举报
回复
字符集是一样的,目前大约有100万个码位。 但对这100万个码位有不同的编码方案,如utf8,utf16,utf32等。。。 同样的码位,用不同的编码方案,得到的长度就不同。 比如一个英文字符用utf8编码是1个字节,换用utf32编码就是4个字节 而一个常用汉字用utf16编码是两个字节,换用utf8编码就产生3个字节(楼主说的一个字符3个字节就是这个情况吧)
「已注销」 2014-10-11
  • 打赏
  • 举报
回复
为什么要纠结这个呢,需要的时候,看看内存就行了
赵4老师 2014-10-11
  • 打赏
  • 举报
回复
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息…… 推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
侑子的小伙伴 2014-10-11
  • 打赏
  • 举报
回复
8位二进制数可以装下数字255 但是 数字255可以装进8位二进制(uint8_t)容器里边,也可以16位二进制(uint16_t),也可以32位二进制(uint32_t),....................里边
liu15073458538 2014-10-11
  • 打赏
  • 举报
回复
之所以有这个疑问是因为 csapp中有一句 大部分的现代系统都使用ASCII标准来表示文本字符,这种方式实际上就是用一个唯一的单字节大小的整数值来表示每个字符 # i n c l u d e 35 105 110 99 108 117 100 101

70,014

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧