计算机如何区分有符号与无符号数

发布网友 发布时间:2022-04-24 04:35

我来回答

4个回答

热心网友 时间:2023-10-28 14:37

有符号数和无符号数在计算机里表示都是一样的,二进制的补码形式。
是有符号还是无符号,是编译器来辨认的。
例如:
unsigned char uch, char ch;
在内存中有个数0b11111111.
把它赋给uch,那么uch就是127
如果赋给ch,那么ch就是-1

热心网友 时间:2023-10-28 14:38

计算机判断有无符号,是根据数值的符号位,比如,一串二进制数值,最前面的是符号位,1代表负,0代表正。

热心网友 时间:2023-10-28 14:38

+1或-1

热心网友 时间:2023-10-28 14:39

在编程语言中,如果设定某一个存储单元 为有符号数的存储单元,那么这个数的存储单元里的首位就被当做了符号位,如果定义为无符号数,那么取消符号位,定义的存储单元内都为数据位、且只能表示正数。
比如ANSI C语言中 int 和 unsigned int 都是16位存储空间。
前者可以表示的数 为-32767~+32768 后者则可以表示 0~65535
也就是说当用int与unsigned int时可以表示的数的总量相同,只是绝对值个数后者是前者的2倍

热心网友 时间:2023-10-28 14:37

有符号数和无符号数在计算机里表示都是一样的,二进制的补码形式。
是有符号还是无符号,是编译器来辨认的。
例如:
unsigned char uch, char ch;
在内存中有个数0b11111111.
把它赋给uch,那么uch就是127
如果赋给ch,那么ch就是-1

热心网友 时间:2023-10-28 14:38

计算机判断有无符号,是根据数值的符号位,比如,一串二进制数值,最前面的是符号位,1代表负,0代表正。

热心网友 时间:2023-10-28 14:38

+1或-1

热心网友 时间:2023-10-28 14:39

在编程语言中,如果设定某一个存储单元 为有符号数的存储单元,那么这个数的存储单元里的首位就被当做了符号位,如果定义为无符号数,那么取消符号位,定义的存储单元内都为数据位、且只能表示正数。
比如ANSI C语言中 int 和 unsigned int 都是16位存储空间。
前者可以表示的数 为-32767~+32768 后者则可以表示 0~65535
也就是说当用int与unsigned int时可以表示的数的总量相同,只是绝对值个数后者是前者的2倍

热心网友 时间:2023-10-28 14:37

有符号数和无符号数在计算机里表示都是一样的,二进制的补码形式。
是有符号还是无符号,是编译器来辨认的。
例如:
unsigned char uch, char ch;
在内存中有个数0b11111111.
把它赋给uch,那么uch就是127
如果赋给ch,那么ch就是-1

热心网友 时间:2023-10-28 14:38

计算机判断有无符号,是根据数值的符号位,比如,一串二进制数值,最前面的是符号位,1代表负,0代表正。

热心网友 时间:2023-10-28 14:38

+1或-1

热心网友 时间:2023-10-28 14:39

在编程语言中,如果设定某一个存储单元 为有符号数的存储单元,那么这个数的存储单元里的首位就被当做了符号位,如果定义为无符号数,那么取消符号位,定义的存储单元内都为数据位、且只能表示正数。
比如ANSI C语言中 int 和 unsigned int 都是16位存储空间。
前者可以表示的数 为-32767~+32768 后者则可以表示 0~65535
也就是说当用int与unsigned int时可以表示的数的总量相同,只是绝对值个数后者是前者的2倍

热心网友 时间:2023-10-28 14:37

有符号数和无符号数在计算机里表示都是一样的,二进制的补码形式。
是有符号还是无符号,是编译器来辨认的。
例如:
unsigned char uch, char ch;
在内存中有个数0b11111111.
把它赋给uch,那么uch就是127
如果赋给ch,那么ch就是-1

热心网友 时间:2023-10-28 14:38

计算机判断有无符号,是根据数值的符号位,比如,一串二进制数值,最前面的是符号位,1代表负,0代表正。

热心网友 时间:2023-10-28 14:38

+1或-1

热心网友 时间:2023-10-28 14:39

在编程语言中,如果设定某一个存储单元 为有符号数的存储单元,那么这个数的存储单元里的首位就被当做了符号位,如果定义为无符号数,那么取消符号位,定义的存储单元内都为数据位、且只能表示正数。
比如ANSI C语言中 int 和 unsigned int 都是16位存储空间。
前者可以表示的数 为-32767~+32768 后者则可以表示 0~65535
也就是说当用int与unsigned int时可以表示的数的总量相同,只是绝对值个数后者是前者的2倍

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com