社区
C语言
帖子详情
char z = 500的输出
Himmel
2003-10-21 02:19:44
char z = 500;
cout<<z;
为什么输出的是ASCII Code里10进制数是20的那个符号?
请高手解答
谢谢!!
...全文
248
9
打赏
收藏
char z = 500的输出
char z = 500; cout<<z; 为什么输出的是ASCII Code里10进制数是20的那个符号? 请高手解答 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vico2
2003-10-21
打赏
举报
回复
主要是明白道理!
tibetan
2003-10-21
打赏
举报
回复
上面有点小错误,(应该是用的表里有的是128个值,有的是256,最大值是127/255)不好意思。
tibetan
2003-10-21
打赏
举报
回复
字符8位,范围应该是-128--127(2^8-1)才对,但这也不完全真确。因为不同的系统或许不一样,有的系统是把字符类型当作无符号的数来对待,所以就应该是0--2^8-1(255)。你能看到在ASCII 表里有的是127个值,有的是255个值。就是因为对待不同。不过127个是国际标准的,255的是扩展码的。正如 kissme1943(jjj) 所说的,如果任何类型的值超出起取值范围的时候就会循环取值。从你反映的问题来看,你的系统应该是当作无符号类型对待。
看:10+245=255 //也就是到了最后取值范围的值,应该从0取值,循环开始第一次。
245+255=500//总共等于500。可以看出其值刚好是10,我是反推的。
希望你有好运气。不过我不知道你为什么这么做?
njuhuangmy
2003-10-21
打赏
举报
回复
500 化成 16 进制 是 1f4
而变成字符型取 最低位 f4
bestfyj
2003-10-21
打赏
举报
回复
char为8bit,所以其取值范围为 -127~128
程序中z的取值超出了这个范围,所以会出现不一致
你可以用int z=500
ok,wish u happy
kissme1943
2003-10-21
打赏
举报
回复
因为是char型,char 和int会自动转换的,超过范围会循环
char型的范围是-128 到 127 所以 char z = 128 和 char z = -128 输出是一样的
char z = 129 和 char z = -127 输出是一样的
128+256 = 384 char z = 128+256 和 char z = 128 输出是一样的
500 = 256 + 244 char z = 500 和 char z = 244 输出是一样的
500 = 256 + 127 + 117 117 - 128 = 12 char z = 500 和 char z = -12 是一样的
我试了试 和ASCII Code里10进制数是20的那个符号 不一样
arvid_gs
2003-10-21
打赏
举报
回复
ASCII表的转换是系统编译的时候自动运行的。
Himmel
2003-10-21
打赏
举报
回复
500到-12的问题我已经搞明白了 谢谢kissme1943(jjj)
可是我不明白系统是怎么把-12转化成ASCII表里的符号的
谢谢回答
Himmel
2003-10-21
打赏
举报
回复
我在win98下的borland c++ 5.02中运行结果确实是和ASCII里10(d)的那个符号是一样的
但是我在xp下的borland c++5.02中结果是不显示任何东西 compiler提示lose digital
我觉得也许是和操作系统也有关系.
回tibetan我这么做是因为学校里的练习题老师无法解答为什么会出现这个符号
关于
char
值的范围!
博客给出一段Java代码,定义了字符变量x、y、z并
输出
相关信息。博主在修改字符变量y的值时,发现改为100以下或
500
时编译出错,进而请教y值的有效取值范围。
你对mysql,
CHAR
(36)做主键,了解多少?
本文分析了在InnoDB存储引擎中使用
char
(36)作为主键时,B+树的高度限制对单表数据量的影响。通过计算非叶子节点的扇出值和叶子页行数,得出单表在树高为3时最多容纳约
500
万至1000万行数据,超出将导致性能下降。
int型与
char
型的转化
本文详细介绍了Java中int和
char
类型的相互转换方法,并通过实例演示了如何进行类型转换,包括ASCII码与字符之间的转换,以及使用==运算符进行比较时的类型自动转换。此外,还展示了如何将字符串转换为小写。
java
输出
26个字母_有1-26个数字和a-z字母,用Java多线程实现先
输出
2和数字再
输出
2个字...
本文展示了一个使用Java实现的简单多线程程序示例,其中包括两个子类Z和X继承自Thread类,分别用于
输出
字母和数字。通过start()方法启动线程,并在run()方法中定义了线程的行为,为了模拟真实场景还加入了sleep()方法让线程暂停执行。
R语言
CHAR
05
本文详细介绍了使用R语言进行参数估计的各种方法,包括总体均值、比例、方差的区间估计,以及大样本和小样本的估计。通过实例展示了z.test、t.test函数的应用,以及如何计算置信区间。此外,还讨论了无偏性、有效性和一致性的评估标准,并提供了相应的代码示例。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章