:C语言中有关有符号字符型(char)的问题
来源:百度文库 编辑:九乡新闻网 时间:2024/05/15 10:11:47
C语言中有关有符号字符型(char)的问题
10[ 标签:c语言,符号字符型,char ] 有符号字符型(char)的数值范围是-128~127,可是字符的ASCⅡ码是没有负数的,那么不就是说还有128个字符不能表示,而且我们平常主要用char,几乎不用unsigned char,求前辈指点. C u 回答:5 人气:13 解决时间:2011-03-05 15:12满意答案
好评率:0%字符长度是一字节 带符号 范围也就是-128~127,也就是你定义一个字符变量的时候他的值范围是这个 注意是变量
而ASCII码是字符常量对定的,就是ASCII是一些固定的字符常量对应在计算机中的存储,比如键盘上面的一个输入键
比如你定义
char a='A'; 这里a只是个变量名,他的值是'A',也就是ASCII 码65
char a=-'A';这里a在计算机中的存储则是-65 就是1(这里接65的二进制表示)
但是 要是你定义
char a='A'+'A';则会报错 因为a的值超出了127
定义 unsigned char a='A'+'A';则是正错的,因为a的值没有超出范围
不知道这样你理解了吗
提问人的追问 2011-03-05 12:53我知道这层意思,但我问的是,定义一个有符号字符型变量,给这个变量赋值必须是字符,这就涉及到了ASCⅡ值,例如能给这个变量赋值一个字符(其对应的ASCⅡ是255)么?团队的补充 2011-03-05 12:57
你还是理解错了 ASCII是一些字符常量的存储值,并不是变量的值,变量的值是通过常量的输入来获得的 比如unsigned char a='A'+'A'+'...';反正你自己找个加到255
但是这255不是ASCII码值 只是a的值, 而'A'的值才是ASCII码
提问人的追问 2011-03-05 14:37还是不明白,我知道数值是数值,ASCII码是ASCII码,但是给一个char变量赋值时,比如char a='A',实质上就是给变量a赋了一个65的值,而A的ASCII码值是65,给a赋的值就等于A的ASCII码值,既然没有负的ASCII值,那么char变量负的数值范围又有什么意义?求指点.团队的补充 2011-03-05 15:04
现在的UNICODE字符集双字节,能表示的字符多着了 符号的估计表示的什么中文,日语啊什么乱七八糟的符号
评价答案
- 您已经评价过!好:0
- 您已经评价过!不好:0
- 您已经评价过!原创:0
- 您已经评价过!非原创:0
- c语言二维数组 char型
- char型数组占几个字节
- unsigned char
- java char数组
- char数组转string
- cstring char数组
- java char数组转int
- char数组转化为int
其他答案
LS说的很对,LZ告诉你一个容易理解的:int与char通用
- 您已经评价过!好:0
- 您已经评价过!不好:0
貌似你没学过补码提问人的追问 2011-03-05 14:12
这跟补码又有什么关系.回答人的补充 2011-03-05 14:12
表示负数的时候就要用补码呀提问人的追问 2011-03-05 14:16
那有如何,你还是不清楚我要问什么吧.靈雙兒
- 您已经评价过!好:0
- 您已经评价过!不好:0
一般我们在做程序时单个字符用char,而字符串用string。
C语言中有关有符号字符型(char)的问题
c语言在串中查找指定字符的最后一个出现函数
C语言中一个字节对齐问题的分析
在gridview中把行中多余的字符用省略号代替(C#)
c语言在串中查找给定字符集中的字符函数
C语言中sizeof的用法总结
C语言中常见的英语单词缩写
C语言中offsetof宏的应用
从语言char数据类型
计算无符号数中二进制1的个数 - C
RS-232c接口的两机通信的问题 - C/C++ / C语言
C 语言 fopen参数问题
C语言浮点数运算的精度问题
C语言 自定义函数返回数组的问题
面试技巧:16个经典面试问题回答思路(转) - C/C / C语言
面试技巧:16个经典面试问题回答思路(转) - C/C / C语言&&&
C语言中Void详解
CString及Char指针和数组的问题
C语言中地址操作符&的使用
C语言中强制数据类型转换的总结
C语言中操作字符串的一些函数源代码
字符问题
char、signed char 和 unsigned char 的区别
C语言有以下几种取整方法(转载)