char取值范围 在JAVA中char的取值范围是多少

作者&投稿:蓝凝 (若有异议请与网页底部的电邮联系)

1、char取值范围是 -128~+127。

2、我们先来看 signed char的最大值。  最高位是 符号位, 0 代表正数; 1 代表负数。0 1 1 1  1 1 1 1     这个值等于 2^0 + 2^1 + 2^2  + 2^3  + 2^4  + 2^5  + 2^6  = 127  。 也有一个简便计算方法:2^7 -1 = 128-1 =127   所以,signed char 的最大值是 127 。

singed char 的最小值计算。 在计算机中,数值是以补码形式存储的。正数的补码是其本身; 而负数的补码是 取反 (符号位保持不变),再加1。

我们先来看 -1 的存储过程:

-1: 1 0 0 0 0 0 0 1 ->(取反) 1 1 1 1 1 1 1 0 ->(加1) 1 1 1 1 1 1 1 1

-2: 1 0 0 0 0 0 1 0 ->(取反) 1 1 1 1 1 1 0 1 ->(加1) 1 1 1 1 1 1 1 0

-3: 1 0 0 0 0 0 1 1 ->(取反) 1 1 1 1 1 1 0 0 ->(加1) 1 1 1 1 1 1 0 1

… …

-127 1 1 1 1 1 1 1 1 ->(取反) 1 0 0 0 0 0 0 0 ->(加1) 1 0 0 0 0 0 0 1

-128 1 0 0 0 0 0 0 0 ->(取反) 1 1 1 1 1 1 1 1 ->(加1) 1 0 0 0 0 0 0 0

不管是原码还是补码, 总会出现 -0 这个值。 本来 +0 与 -0 是没有区别的。 但对于存储器和编译器来讲,总得充分利用每个字节吧, 更不想出现二义性。 所以,将 -0 表示为 -128 , 这样既增大了signed char 数值的表示范围,又消除了 -0 的二义性。

所以signed char的取值范围是 -128~127。

扩展资料

在MYSQL中,字段类型char是指:使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的1个字节(八位)来存储数据,不足8位的字符串在其后补空字符。

字符转换

在excel中char函数用于返回对应发于数字代码的字符。其用法:=char(number)
其中,参数number为转换的字符代码,介于0~255之间,char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;uchar表示无符号的类型,所以表示的范围是0~255。

代数概念

char是characteristic的简写,表示一个环或者域的特征,即最小的非负整数n,使ne=0。(e为单位元) 。

参考资料来源:百度百科—char



对于多数编译器而言(包括VC++),char 都视作 signed char来处理,这时 char 的取值范围得与 二进制编码技术有关,对于补码表示法。

char 的取值范围是 -128 - 127, 对于符号绝对值编码法、反码记法, char 的取值范围是 -127 - 127。char 有 8 位,最高位是符号位,所以 char可以在 -127 - 127 取值是没有疑问了。

当最高位是 1,其余位都是 0 时,按照补码表示法的规则,这个数应该是 负数了,用求负数的二进制的方法反推回去:

二进制:    1000 0000

减一:         0111 1111

逐位取反:   1000 0000      //和原来的二进制形式一样,对应正整数 128

经过这一系列操作之后,二进制形式依然是 1000 0000,对应 数值 128,但这个数是负数,因为反推前 最高位是 1 的,故对应 -128。

我们的机器多数是基于补码表示的

11111111   =   -1

10000000   =   -128

现在证明   10000000   表示的是   -128而不是-0

10000000   +   00000001   =   10000001   =   -127

显然   -128   +   1   =   -127

11111111   符号位为1表示负数

将数值位按位取反加一得到

0000000+1   =   0000001

所以   11111111   =   -1

所以signed char的取值范围是 -128~127。

扩展资料

char是C/C++整型数据中比较古怪的一个。

其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。

char是characteristic的简写,表示一个环或者域的特征,即最小的非负整数n,使ne=0。(e为单位元) 。

参考资料:百度百科-char (计算机语言关键字)



char取值范围是 -128~+127。

inged char 的 最小值计算:

需要明白一个概念, 在计算机中, 数值是以补码形式存储的。 正数的补码是其本身; 而负数的补码是 取反 (符号位保持不变),再加1。

我们先来看 -1 的存储过程:

-1: 1 0 0 0 0 0 0 1 ->(取反) 1 1 1 1 1 1 1 0 ->(加1) 1 1 1 1 1 1 1 1

-2: 1 0 0 0 0 0 1 0 ->(取反) 1 1 1 1 1 1 0 1 ->(加1) 1 1 1 1 1 1 1 0

-3: 1 0 0 0 0 0 1 1 ->(取反) 1 1 1 1 1 1 0 0 ->(加1) 1 1 1 1 1 1 0 1

… …

-127 1 1 1 1 1 1 1 1 ->(取反) 1 0 0 0 0 0 0 0 ->(加1) 1 0 0 0 0 0 0 1

-128 1 0 0 0 0 0 0 0 ->(取反) 1 1 1 1 1 1 1 1 ->(加1) 1 0 0 0 0 0 0 0

不管是原码还是补码, 总会出现 -0 这个值。 本来 +0 与 -0 是没有区别的。 但对于存储器和编译器来讲,总得充分利用每个字节吧, 更不想出现二义性。 那么,干脆将 -0 表示为 -128 , 这样一来,既增大了signed char 数值的表示范围,又消除了 -0 的二义性, 岂不美哉!

所以signed char的取值范围是 -128~127。

拓展资料:

char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。

定义:计算机编程语言(c、c++、java、VFP,,pascal,等)中可容纳单个字符的一种基本数据类型。

在C/C++中,char是C/C++整型数据中比较古怪的一个,

而且关于char还有一个特殊的语言就是char *,它在C/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,专门用于指以'\0'为结束的字符串。



1.char 是一个字节类型。 由8位组成。  char 又分为 signed char (有符号类型) 和 unsigned char (无符号类型)。 通常,我们的理解是将char 作为 signed char 来处理。

2.我们先来看 signed char的最大值。  最高位是 符号位, 0 代表正数; 1 代表负数。0 1 1 1  1 1 1 1     这个值等于 2^0 + 2^1 + 2^2  + 2^3  + 2^4  + 2^5  + 2^6  = 127  。 也有一个简便计算方法:2^7 -1 = 128-1 =127   所以,signed char 的最大值是 127 。  这个容易理解。

3.接下来,看看 singed char 的 最小值 是如何计算的?需要明白一个概念, 在计算机中, 数值是以补码形式存储的。 正数的补码是其本身; 而负数的补码是 取反 (符号位保持不变),再加1。

4.我们先来看 -1 的存储过程:

-1:     1 0 0 0  0  0  0  1    ->(取反) 1 1 1 1 1 1 1 0     ->(加1)  1 1 1 1 1 1 1 1

-2:  1 0 0 0  0  0  1  0    ->(取反) 1 1 1 1 1 1 0 1     ->(加1)  1 1 1 1 1 1 1 0

-3:  1 0 0 0  0  0  1  1    ->(取反) 1 1 1 1 1 1 0 0     ->(加1)  1 1 1 1 1 1 0 1

… …

-127   1 1 1 1  1  1  1  1    ->(取反) 1 0 0 0 0 0 0 0     ->(加1)  1 0 0 0 0 0 0 1

-128   1 0 0 0  0  0  0  0    ->(取反) 1 1 1 1 1 1 1 1     ->(加1)   1 0 0 0  0  0  0  0

5.不管是原码还是补码, 总会出现  -0 这个值。 本来 +0 与 -0 是没有区别的。 但对于存储器和编译器来讲,总得充分利用每个字节吧, 更不想出现二义性。 那么,干脆将 -0 表示为 -128 , 这样一来,既增大了signed char 数值的表示范围,又消除了 -0 的二义性,所以signed char的取值范围是 -128~127。

拓展资料

char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。

char是characteristic的简写,表示一个环或者域的特征,即最小的非负整数n,使ne=0。(e为单位元) 。

(参考资料  百度百科 char)



1原码:00000001

发现是负数做两步:
1反码:11111110
1补码:11111111(-1)
计算机用负数的绝对值的补码表示这个负数


这样既可以解释-129了,如下:
129原码:10000001
129反码:01111110
129补码:01111111(+127)
这样也可以解释char 范围从-128~127
-128为什么表示成10000000
128原码:10000000
128反码:01111111
128补码:10000000(-128)
所以char 范围是从-128~127

拓展资料:

在MYSQL中,字段类型char是指:使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的1个字节(八位)来存储数据,不足8位的字符串在其后补空字符。
字符转换
在excel中char函数用于返回对应发于数字代码的字符。其用法:=char(number)
其中,参数number为转换的字符代码,介于0~255之间,char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;uchar表示无符号的类型,所以表示的范围是0~255。
代数概念
char是characteristic的简写,表示一个环或者域的特征,即最小的非负整数n,使ne=0。(e为单位元) 。

参考资料:char(计算机语言关键字)_百度百科



char类型的取值范围~

char buf[100] = {128},此时buf里的第一个元素值为128,当你用"%s"输出buf时,整个buf会被当作一个字符串,第一个字符的ASCII码为128,后面均为空字符。
char buf2[100] = "128",此时buf2被当做"128"这个字符串,所以输出为"128"。
char c=128,由于128超出了char的表示范围,发生溢出,就变成了-128。

我觉得你以前编过VB。

char型(文本型)
用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容
字符的存储范围在\u0000~\uFFFF

请问谁能详细介绍mysql的数据类型呢?
答:一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。DATETIME一个日期和时间组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式来显示DATETIME值,但是允许你使用...

mysql的数据类型的问题
答:只要你定义一个字段是CHAR(10),那么不论你存储的数据是否达到了10个字节,它都要占去10个字节的空间;而VARCHAR则是可变长度的,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为VARCHAR(10)是最合算的。

水量均衡法的计算原理是什么?
答:式中:K为含水层渗透系数(m/d);L为河道渗漏段长度(m);I为河渠一侧地下水水力梯度(无量纲);h为过水断面的厚度(m);Δt为计算时段(d)。 h的取值应根据河流与地下水的关系而定。当河流一侧接受地下水补给,另一侧补给地下水时(图3-2a),h取值为河床到地下水位(河水位)的距离;当河流两侧都补给地下水时(图3...

c语言的考题解答!!!急!!!
答:1:在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围为(-32768到32767)2:下面程序的运行结果是( )。#include<stdio.h> main(){int i,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++) putchar(‘#’);for(j=1;j<=4-i;j++) putchar(‘*’);putchar(‘...

求计算机考试试题。!
答:II.定义Student关系表Sex列的取值只能为”男,或“女”,定义Course关系表Credit列的取值范围是[1, 4] III.在Student关系表的Sname列上建立一个非聚集索引,在Course关系表的Cname列上建立一个非聚集索引- IV.定义SC关系表的Sno列的取值不能为空,并且其镶一个值必须在Student关系表的Sno列的值集中 以上操作对内...

SQL语句创建表
答:与UNIQUE约束类似,PRIMARY KEY 约束也是通过建立唯一索引来保证基本表在主键列(某一个列或多个列的组合)上取值的唯一性。然而它们之间也存在着很大差别:在一个基本表中只能定义一个 PRIMARY KEY 约束,却能定义多个UNIQUE约束。如果为基本表的某一个列或多个列的组合指定了 PRIMARY KEY 约束,那么...

mysql有几种数据类型呢?分别是哪几种呢?
答:所以在 char 和 varchar 选型上,要注意看是否合适的取值范围。比如固定长度的值,肯定要选择 char;不确定的值,则选择 varchar。 四、日期类型日期类型包含了 date,time,datetime,timestamp,以及 year。year 占 1 Byte,date 占 3 Byte。 time,timestamp,datetime 在不包含小数位时分别占用 3 Byte,4 Byte,8 ...

MYSQL中如何选择合适的数据类型
答:所以在 char 和 varchar 选型上,要注意看是否合适的取值范围。比如固定长度的值,肯定要选择 char;不确定的值,则选择 varchar。 四、日期类型日期类型包含了 date,time,datetime,timestamp,以及 year。year 占 1 Byte,date 占 3 Byte。 time,timestamp,datetime 在不包含小数位时分别占用 3 Byte,4 Byte,8 ...

关于mysql数据库里面数据类型number的问题
答:所以在 char 和 varchar 选型上,要注意看是否合适的取值范围。比如固定长度的值,肯定要选择 char;不确定的值,则选择 varchar。 四、日期类型日期类型包含了 date,time,datetime,timestamp,以及 year。year 占 1 Byte,date 占 3 Byte。 time,timestamp,datetime 在不包含小数位时分别占用 3 Byte,4 Byte,8 ...

地下水均衡法的基本原理是什么?
答:h的取值应根据河流与地下水的关系而定。当河流一侧接受地下水补给,另一侧补给地下水时(图3-2a),h取值为河床到地下水位(河水位)的距离;当河流两侧都补给地下水时(图3-2b),h取值为含水层的整个厚度。 (3)基流分割法 在地下水补给常年性河流的地区,在枯水期河水流量几乎全部由地下水补给维持,这时的河水流量被...