char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;因为-1是在char表示的范围是-128~127内部,所以char类型完全可以赋值为-1
因为 char 类型是一个有符号的 8 位数据类型,它的取值范围是 -128 到 127。而 -1 在二进制中用补码表示时,是 11111111,也就是说它的十进制值是 255。如果将 -1 直接赋值给 char 类型的变量,会造成截断,将最高位的 1 当做符号位,变成 -127,而不是我们期望的 -1。因此,需要进行显...
char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127; 因为-1是在char表示的范围是-128~127内部,所以char类型完全可以赋值为-1 00分享举报为您推荐您可能感兴趣的内容广告 小米 中国-京东官方网站 小米 中国-好物低价京东"GO"实惠,刷新超低折扣价,[京东官网],就等你来!
满意答案 -1 赋值给 char 类型的变量需要类型转换。因为晌歼仔 char 类型是一个有符号的 8 位数据类型,它的取值范围是 -128 到 127。而 -1 在二进制中用补码表示时,是 11111111,也就是说它的十进制值是 255。如果将 -1 直接赋值给 char 类型的变量,会造成截宴汪断,将最高位的 1 当做符号位,变成 -...
-1在存储时,第一位是符号位,-用1表示,负数用补码存储,因此-1,存储的时候计为11111111。第一个有符号,读出为-1;第二个为无符号,此时8位都为数字位,读为255。
1是0001,推算出0是0000;-1的是1111,推算出0也是0000。如果直接用反码(0变成1,1变成0)那么0就会有两个结果。如果用第一位表示符号,后三位表示大小,那么就有空间浪费。2.char类型是8位,1000 0000还原为原码:最高位是1,表示负数,剩余的各位取反 111 1111 再+1 得到 1000 0000, +128...
选择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...
char是C语言中的一种基本数据类型,用于表示字符。它占用一个字节(8位),可以存储ASCII码对应的字符。二、char类型的取值范围 char类型可以取-128到127之间的整数值,包括负数和正数。这个范围是由char类型的编码方式决定的,常见的编码方式有ASCII码和Unicode码。1、ASCII码:ASCII码是一种字符编码标准...