因为-1是在char表示的范围是-128~127内部,所以char类型完全可以赋值为-1
char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127; 因为-1是在char表示的范围是-128~127内部,所以char类型完全可以赋值为-1 00分享举报为您推荐您可能感兴趣的内容广告 小米 中国-京东官方网站 小米 中国-好物低价京东"GO"实惠,刷新超低折扣价,[京东官网],就等你来!
输入一个整数n,接下来n行每一行输入两个用一个空格分隔的字符。 对每一对字符,比较其大小关系并输出比较的结果:1、0、-1. 解决的代码如下: #include<stdio.h>intmain() {intN,i;charc1='',c2=''; scanf("%d",&N); getchar();for(i=0;i<N;i++) { scanf("%c %c",&c1,&c2); getchar...
char型的最大整数值是127,对应的二进制是: 0111 1111,最高位0表示符号位(0为正,1为负),然后加1的话,就变成了1000 0000,这个你应该知道吧。而这个1000 0000恰好是-1的补码,因为负数在内存中是以其补码的形式存放的,所以输出的结果是-1。
char 是无符号数据类型 因为 char 可以表示 ASCII 国际字符编码表的 0 - 255 个字符 所以不存在负数的 char 值 如果你想表示负数的 char,可以使用 BYTE
以-1为例。选择8位的二进制数来表示:-1的原码 10000001 //最高位为符号位 -1的反码 11111110 //符号位不变,各位求反 -1的补码 11111111 //符号位不变,反码加1 所以,当使用unsigned char 即无符号整数时,-1用补码表示即1111 1111,十六进制表示为0xff ,十进制表示即为255。
char是一个字节8位,8位有符号数表示的范围是-128~127,负数是在计算机中是用补码表示的,255换成二进制是8个1,最前面一位是1,表示是负数,具体的数值呢,由正数到负数是取反加1,反过来是减一取反,所以8个1减一后是11111110,取反后是1,所以是-1,如果是256的话,直接就溢出了,1后面8...
'-1'不是字符,是字符串 在C语言中一个字符仅占有一个字节,也就是说字符一定是单个的 '-1'是由字符'-'和字符'1'连接起来的字符串
char ch2='-1'当然报错,-1根本不是一个字符,怎么会输出1输出的是字符‘1’的ascii码即49。
char ch = 255;//表示ch是ASCII码255对应的字符 i = ch;//表示赋值,由于i是int型的,赋值的时候再把字符转为整数,实际就是二进制,但是int是带符号的,255化成二进制后最高位是1,表示负数,要求其正值的话得先某位减1,再各位取反 (255) 11111111 (某位减1) 11111110 (各位取...